Php : Laravel - 使用 eloquent pluck 方法后的数组推送
Php : Laravel - Array push after using eloquent pluck method
这是我的查询
$RecipientList = Employees::select(DB::Raw('CONCAT(first_name," ",last_name) as employee_name'),'email')->pluck('employee_name','email');
这给了我想要的正确结果,
但在我执行查询后,我还有 1 个键 => 值对推入结果数组。
如果我打印当前结果,它是这样的。
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[punit@*****.com] => Punit Gajjar
[milan@*****.com] => Milan Gajjar
[pritesh@*****.com] => Pritesh Modi
[pratik@*****.com] => Pratik Modi
[jyoti@*****.com] => Jyotiranjan J..
)
)
位,如果我尝试将我的 Key=>valye 对推入此数组,它不起作用。
array_push(array("All"=>"All"),$RecipientList);
需要输出类似于
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[All] => All
[milan@*****.com] => Milan Gajjar
[milan@*****.com] => Milan Gajjar
[pritesh@*****.com] => Pritesh Modi
[pratik@*****.com] => Pratik Modi
[jyoti@*****.com] => Jyotiranjan J..
)
)
您有 Illuminate\Support\Collection
个对象而不是数组。你可以做到
$RecipientList->push(["All"=>"All"]);
UPD:有prepend
方法
$RecipientList->prepend('All', 'All');
这是因为 $RecipientList 是集合而不是数组。
试试这个
RecipientList = Employees::select(DB::Raw('CONCAT(first_name," ",last_name) as employee_name'),'email')->pluck('employee_name','email')->toArray();
如果这不起作用,请尝试以下代码
RecipientList = Employees::select(DB::Raw('CONCAT(first_name," ",last_name) as employee_name'),'email')->get()->pluck('employee_name','email')->toArray();
希望对您有所帮助。
这是我的查询
$RecipientList = Employees::select(DB::Raw('CONCAT(first_name," ",last_name) as employee_name'),'email')->pluck('employee_name','email');
这给了我想要的正确结果,
但在我执行查询后,我还有 1 个键 => 值对推入结果数组。
如果我打印当前结果,它是这样的。
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[punit@*****.com] => Punit Gajjar
[milan@*****.com] => Milan Gajjar
[pritesh@*****.com] => Pritesh Modi
[pratik@*****.com] => Pratik Modi
[jyoti@*****.com] => Jyotiranjan J..
)
)
位,如果我尝试将我的 Key=>valye 对推入此数组,它不起作用。
array_push(array("All"=>"All"),$RecipientList);
需要输出类似于
Illuminate\Support\Collection Object
(
[items:protected] => Array
(
[All] => All
[milan@*****.com] => Milan Gajjar
[milan@*****.com] => Milan Gajjar
[pritesh@*****.com] => Pritesh Modi
[pratik@*****.com] => Pratik Modi
[jyoti@*****.com] => Jyotiranjan J..
)
)
您有 Illuminate\Support\Collection
个对象而不是数组。你可以做到
$RecipientList->push(["All"=>"All"]);
UPD:有prepend
方法
$RecipientList->prepend('All', 'All');
这是因为 $RecipientList 是集合而不是数组。
试试这个
RecipientList = Employees::select(DB::Raw('CONCAT(first_name," ",last_name) as employee_name'),'email')->pluck('employee_name','email')->toArray();
如果这不起作用,请尝试以下代码
RecipientList = Employees::select(DB::Raw('CONCAT(first_name," ",last_name) as employee_name'),'email')->get()->pluck('employee_name','email')->toArray();
希望对您有所帮助。