Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Php : Laravel - Array push after using eloquent pluck method

here is my Query

$RecipientList = Employees::select(DB::Raw('CONCAT(first_name," ",last_name) as employee_name'),'email')->pluck('employee_name','email');

which give me the proper result as i want,

but after i execute query i have 1 more key => value pair to push in the result array.

If i print the current result , its something like this .

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..
        )

)

Bit if i try to push my Key=>valye pair into this array it dosn't work.

array_push(array("All"=>"All"),$RecipientList);

Need Output something like

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..
            )

    )
like image 648
Punit Gajjar Avatar asked Jan 06 '23 04:01

Punit Gajjar


2 Answers

It is because $RecipientList is Collection and not the Array.

Try this

RecipientList = Employees::select(DB::Raw('CONCAT(first_name," ",last_name) as employee_name'),'email')->pluck('employee_name','email')->toArray();

If this does not work, try below code

RecipientList = Employees::select(DB::Raw('CONCAT(first_name," ",last_name) as employee_name'),'email')->get()->pluck('employee_name','email')->toArray();

Hope this will help you.

like image 50
kapil.dev Avatar answered Jan 13 '23 10:01

kapil.dev


You have Illuminate\Support\Collection object not array. You can do

$RecipientList->push(["All"=>"All"]);

UPD: There is prependmethod

$RecipientList->prepend('All', 'All');
like image 45
aleksejjj Avatar answered Jan 13 '23 10:01

aleksejjj