我所有的数据都存储在多维数组中,我想仅用一行代码使用laravel更新,而不必在每次更新时使用任何循环。
在laravel中插入多个数据时,如果有这样的代码。
$applicants_insert_data = [[
'id' => 1,
'name' => 'sample1',
'contact' => '09123456789',
'email' => sample@sample.com,
],[
'id' => 1,
'name' => 'sample2',
'contact' => '09987654321',
'email' => sample2@sample2.com,
]];
applicants::insert($applicants_insert_data);
我是否可以或可以使用某种方式来更新数据?
像这样:
$applicants_update_data = [[
'name' => 'sample1',
'contact' => '09123456789',
'email' => sample@sample.com,
],[
'name' => 'sample2',
'contact' => '09987654321',
'email' => sample2@sample2.com,
]];
$applicants_id = [[
'id' => 1
],[
'id' => 2,
]];
applicants::find($applicants_id)->update($applicants_update_data);
答案 0 :(得分:3)
据我所知,这在Laravel中不可用。但是,有一个第三方软件包允许这种类型的功能:
https://packagist.org/packages/mavinoo/laravel-batch
从文档中发布的示例中:
$table = 'users';
$value = [
[
'id' => 1,
'status' => 'active',
'nickname' => 'Mohammad'
] ,
[
'id' => 5,
'status' => 'deactive',
'nickname' => 'Ghanbari'
] ,
];
$index = 'id';
Batch::update($table, $value, $index);