Laravel foreach查询构建器结果

时间:2019-01-29 07:39:02

标签: laravel foreach

我尝试给出一个结果,然后如果名称等于“ Apple”,那么我要在下一行添加新行。

$list= Food::select('id', 'name')->get();

foreach ($list as $l) {
   if($l->name == 'Apple'){
       //Add 2 more item to next row
   } 
}

我的结果输出:

[
    {
        "id": 1,
        "name": "Apple"
    },
    {
        "id": 2,
        "name": "Orange"
    },
    {
        "id": 3,
        "name": "Blueberry"
    },
]

这里是我想要的结果,每个检查名称是否为apple,然后我需要手动添加2个项目。

[
    {
        "id": 1,
        "name": "Apple"
    },
    {
        "id": 1.1,
        "name": "Apple Pie"
    },
    {
        "id": 1.2,
        "name": "Apple Juice"
    },
    {
        "id": 2,
        "name": "Orange"
    },
    {
        "id": 3,
        "name": "Blueberry"
    },
]

1 个答案:

答案 0 :(得分:0)

就我而言,我使用临时数组。

$list= Food::select('id', 'name')->get();

$tempList = array();

foreach ($list as $l) {
$tempList[] = $l;
   if($l->name == 'Apple'){
       $tempList[] = array('id' => 1.1, 'name' => 'Apple Pie');
   } 
}

但是我认为您可以使用“ push”之类的Collection方法

Collections Push