Как изменить какое-либо значение в выводе коллекции Laravel - PullRequest
1 голос
/ 19 мая 2019

У меня есть небольшой проект Laravel, работающий над редактированием коллекции.Я красноречив, как показано ниже.

public function Import(){
    $org = LabGroup::get();
    return $org;
}

Возвращенный результат, как показано ниже,

[
{
id: 1,
uuid: "491cd440-79d0-11e9-a294-b93a2fd40038",
branch: 0,
name: "productA",
},
{
id: 2,
uuid: "491d0b70-79d0-11e9-aba8-4d9cdb66858f",
branch: 0,
name: "productB",
},
{
id: 3,
uuid: "491d0c20-79d0-11e9-a243-0d208e55c95a",
branch: 0,
name: "productC",
}
]

Мне нужно изменить все значения ветви с 0 на 1. Я могу сделать это, ноЯ могу использовать другое лучше, как 'map', что я не знаком.Любые советы или рекомендации будут с благодарностью, спасибо.

Ответы [ 2 ]

1 голос
/ 19 мая 2019

Попробуйте это:

$org = LabGroup::get();

$org_branch_1 = $org->map(function ($item, $key) {
    return [
        'id' => $item->id,
        'uuid' => $item->uuid,
        'branch' => 1,
        'name' => $item->name,
    ];
});

return $org_branch_1;

Если вам не нужен оригинал, вы можете преобразовать его:

$org = LabGroup::get();

return $org->transform(function ($item, $key) {
    return [
        'id' => $item->id,
        'uuid' => $item->uuid,
        'branch' => 1,
        'name' => $item->name,
    ];
});

EDIT:
Это тоже будет работать:

return LabGroup::get()->transform(function ($item, $key) {
                $item->branch = 1;
                return $item;
            });
0 голосов
/ 19 мая 2019

Вы можете использовать метод eloquent update () по вашему запросу:

$updatedOrg = LabGroup::get()->update(['branch' => 1]);
return $updatedOrg; \\Returns the result with the updated branch value.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...