在 Laravel 集合对象中添加新元素

2021-12-18 00:00:00 php laravel laravel-5

我想在 $items 数组中添加新元素,出于某些原因我不想使用连接.

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

我该怎么办?

推荐答案

看起来一切都正确 根据 Laravel 文档,但你有一个错字

It looks like you have everything correct according to Laravel docs, but you have a typo

$item->push($product);

应该

$items->push($product);

push 方法将一个项目追加到集合的末尾:

push method appends an item to the end of the collection:

我还想认为您正在寻找的实际方法是 put

I also want to think the actual method you're looking for is put

$items->put('products', $product);

put 方法设置集合中给定的键和值

put method sets the given key and value in the collection

相关文章