如何在具有一维多维数组的Laravel中更新

时间:2018-11-19 02:01:30

标签: 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);

1 个答案:

答案 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);