I want to add new element in $items
array, I don't want to use joins for certain reasons.
$items = DB::select(DB::raw('SELECT * FROM items WHERE items.id = '.$id.' ;')); foreach($items as $item){ $product = DB::select(DB::raw(' select * from product where product_id = '. $id.';' )); $item->push($product); }
What should I do?
Java Collection add() methodThe add() method of Java Collection Interface inserts the specified element in this Collection. It returns a Boolean value 'true', if it succeeds to insert the element in the specified collection else it returns 'false'.
This allows you to add conditions throughout your code until you actually want to fetch them, and then you would call the get() function.
Laravel Pluck() is a Laravel Collections method used to extract certain values from the collection. You might often would want to extract certain data from the collection i.e Eloquent collection.
Collections are basically an extension to the php native array. It's meant to work with arrays. The arrays can certainly contain objects, such as eloquent results, but at the core it's an array.
It looks like you have everything correct according to Laravel docs, but you have a typo
$item->push($product);
Should be
$items->push($product);
push
method appends an item to the end of the collection:
I also want to think the actual method you're looking for is put
$items->put('products', $product);
put
method sets the given key and value in the collection
As mentioned above if you wish to add as a new element your queried collection you can use:
$items = DB::select(DB::raw('SELECT * FROM items WHERE items.id = '.$id.' ;')); foreach($items as $item){ $product = DB::select(DB::raw(' select * from product where product_id = '. $id.';' )); $items->push($product); // or // $items->put('products', $product); }
but if you wish to add new element to each queried element you need to do like:
$items = DB::select(DB::raw('SELECT * FROM items WHERE items.id = '.$id.' ;')); foreach($items as $item){ $product = DB::select(DB::raw(' select * from product where product_id = '. $id.';' )); $item->add_whatever_element_you_want = $product; }
add_whatever_element_you_want
can be whatever you wish that your element is named (like product for example).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With