Laravel Einsatz von concat mit zupfen Methode

Bin ich mit Laravel.5.3 und unten ist meine Abfrage

$ProjectManagers = Employees::where("designation" , 1)
->pluck(DB::raw('CONCAT(first_name," ",last_name) AS name'),'id');

die wirft eine Fehlermeldung, dass

Illegal offset type in isset oder empty

Kann ich wissen, ob dies die richtige Methode ?

wenn ich nicht Kontakt und nutzen wie

$ProjectManagers = Employees::where("designation" , 1)->pluck('first_name','id');

die arbeiten korrekt und geben mir das Ergebnis

Illuminate\Support\Collection Object
(
    [items:protected] => Array
        (
            [8] => Punit
        )

)

Erwartete Ergebnis :

Illuminate\Support\Collection Object
(
    [items:protected] => Array
        (
            [8] => Punit Gajjar
        )

)

wo first name und last name sind verkettet.

  • ändern ->pluck('first_name','id'); zu " - >pflücken('name','id');?
  • SQLSTATE[42S22]: Column nicht found: 1054 Unknown column 'name' in 'field list'
  • hmm, war nur eine Vermutung aus der Spitze von meinem Kopf, ich kann mir vorstellen name müsste da irgendwo, dass da ist der alias in der Abfrage verwendet wird. Die einzige andere Sache, die ich denken kann, ist $ProjectManagers = Employees::select([DB::raw("CONCAT(first_name," ",last_name) AS name")])->where('designation', 1)->pluck('name', 'id');. Ich habe nicht verwendet zupfen also nicht sicher, wenn Sie bitten können, für mehr als eine Spalte, eine alternative scheint es zu sein, verwenden Sie ->only("id", "name")->toArray()
  • ja es funktioniert vielen Dank , , richtige ist $ProjectManagers = Employees::select(DB::raw("CONCAT(first_name,' ',last_name) AS name"),'id')->where('designation', 1)->pluck('name', 'id');
InformationsquelleAutor Punit Gajjar | 2016-10-19
Schreibe einen Kommentar