我正在使用Laravel 5.3。以下是我的查询。
$ProjectManagers = Employees::where("designation" , 1)
->pluck(DB::raw('CONCAT(first_name," ",last_name) AS name'),'id');
引发以下错误:
在isset或empty中使用了非法偏移量类型
请问这是正确的方法吗?
如果我不使用contact而是使用类似的方法会怎样呢?
$ProjectManagers = Employees::where("designation" , 1)->pluck('first_name','id');
它正在正确运行并给我结果
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[8] => Punit
)
)
期望结果:
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[8] => Punit Gajjar
)
)
将名字和姓氏拼接在一起。
->pluck('first_name','id');
更改为->pluck('name','id');
? - martincarlin87name
肯定要在里面,因为这是在查询中使用的别名。我能想到的另一件事就是$ProjectManagers = Employees::select([DB::raw("CONCAT(first_name," ",last_name) AS name")])->where('designation', 1)->pluck('name', 'id');
。我没有使用过pluck,所以不确定是否可以请求多个列,另一种选择似乎是使用->only("id", "name")->toArray()
。 - martincarlin87$ProjectManagers = Employees::select(DB::raw("CONCAT(first_name,' ',last_name) AS name"),'id')->where('designation', 1)->pluck('name', 'id');
。 - Punit Gajjar