add new element in laravel collection object

前端 未结 3 1550
陌清茗
陌清茗 2020-12-15 02:47

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 WHE         


        
3条回答
  •  南笙
    南笙 (楼主)
    2020-12-15 02:54

    As mentioned above if you wish to 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).

提交回复
热议问题