如何使用单行多维数组在laravel中进行更新



我的所有数据都存储在一个多维数组中,我希望只对一行代码使用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);

据我所知,这在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);

最新更新