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();

希望对您有所帮助。