Insert a laravel Array to MongoDB

1

I need to know how I can insert an array (that was obtained from a MySQL query) to mongodb (it should be inserted in the same way in mongodb as an array), this is what I have done but it does not keep me as it should be.

public function createGrupoDefault($request)
{
    if(JWTAuth::getToken()){
        $user_id = JWTAuth::toUser()->id;
    }

    $instancia_id = \DB::select("
        SELECT instancias.id
        FROM users
        JOIN instanciausers ON instanciausers.user_id = users.id
        JOIN instancias ON instanciausers.instancia_id = instancias.id
        JOIN role_user ON role_user.user_id = users.id
        JOIN roles ON role_user.role_id = roles.id
        WHERE instanciausers.user_id = ".$user_id."
    ");

    $existe = \Mongo::get()->GoCargo->flota_favoritos->findOne(
        [
            "empresa"   => intval($instancia_id[0]->id),
            "grupo"     => "Default"
        ],[
            "_id"       => true
        ]
    );

    if ($existe) {
        return "Ya existe un grupo con ese nombre";
    }

    $request = \Mongo::get()->GoCargo->flota_favoritos->insertOne(
        [
            "empresa"   => $instancia_id[0]->id,
            "grupo"     => "Default"
        ]
    );

    $usuarios = $this->flota
        ->join('users','flotafavoritos.user_id','users.id')
        ->join('instanciausers', 'users.id', 'instanciausers.user_id')
        ->join('instancias','instanciausers.instancia_id','instancias.id')
        ->join('personas', 'flotafavoritos.persona_id', 'personas.id')
        ->select(
            'personas.id'
        )
        ->where('instanciausers.instancia_id', $instancia_id[0]->id)
        ->get();
    $usuarios = $usuarios->toArray();

    foreach ($usuarios as $usuario) {
        $reg = \Mongo::get()->GoCargo->flota_favoritos->findOne(
            [
                "id_user" => $usuario
            ],[
                "projection" => [
                    "id_user" => true
                ]
            ]);
        if(!$reg){
            $reg = \Mongo::get()->GoCargo->flota_favoritos->addToSet(
                [
                    "id_user" => $usuario
                ]);
        }
    }
    return "El grupo fue creado con existo!";
} #fin createGrupoDefault
    
asked by Sergio CR 07.12.2018 в 22:23
source

0 answers