Результат конструктора запросов Laravel foreach - PullRequest
0 голосов
/ 29 января 2019

Я пытаюсь получить результат, если имя равно «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"
    },
]

Здесьрезультат, который я хочу, для каждого, чтобы проверить, если имя является яблоком, то мне нужно добавить еще 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 голосов
/ 29 января 2019

Для себя я использую временный массив.

$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"

Коллекции Push

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...