używam Laravel.5.3 i poniżej jest moje zapytanielaravel Zastosowanie concat metodą zrywać
$ProjectManagers = Employees::where("designation" , 1)
->pluck(DB::raw('CONCAT(first_name," ",last_name) AS name'),'id');
który zgłasza błąd że
Nielegalne offsetowy typu w isset lub pusty
Czy mogę wiedzieć, czy jest to właściwa metoda?
gdybym nie używaj kontakt i używać jak
$ProjectManagers = Employees::where("designation" , 1)->pluck('first_name','id');
który pracuje poprawne i dając mi prowadzić
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[8] => Punit
)
)
oczekiwany wynik:
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[8] => Punit Gajjar
)
)
gdzie imię i nazwisko jest łączone.
zmienić '-> pluck ('first_name', 'id');' to '-> pluck ('name', 'id') ;? – martincarlin87
@ martincarlin87: SQLSTATE [42S22]: Nie znaleziono kolumny: 1054 Nieznana kolumna "name" w "liście pól" –
hmm, było tylko odgadnięciem ze szczytu mojej głowy, wyobrażam sobie, że 'imię' musi gdzieś tam być ponieważ jest to alias, który jest używany w zapytaniu. Jedyne, co mogę wymyślić to: $ ProjectManagers = Employees :: select ([DB :: raw ("CONCAT (first_name," ", last_name) AS name")]) -> where ("oznaczenie", 1) -> pluck ('name', 'id'); '. Nie użyłem plucka, więc nie jestem pewien, czy możesz poprosić o więcej niż jedną kolumnę, alternatywą wydaje się użycie '-> only (" id "," name ") -> toArray()' – martincarlin87