我有一个小的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'
。任何建议或指导将不胜感激,谢谢。
答案 0 :(得分:1)
尝试一下:
$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,
];
});
编辑:
这也将起作用:
return LabGroup::get()->transform(function ($item, $key) {
$item->branch = 1;
return $item;
});
答案 1 :(得分:0)
您可以在查询中使用雄辩的update()方法:
$updatedOrg = LabGroup::get()->update(['branch' => 1]);
return $updatedOrg; \\Returns the result with the updated branch value.