laravel如何批量添加或更新数据--分享一些好用的包1

Laravel php Laravel composer 1505      收藏
laravel如何批量添加或更新数据

laravel批量添加或更新数据方法

github地址:https://github.com/mavinoo/laravelBatch/tree/v2.0

安装命令: composer require mavinoo/laravel-batch:dev-master

使用方法:

批量更新数据

use Mavinoo\LaravelBatch\LaravelBatchFacade as Batch;
$table = 'users';

$value = [
     [
         'id' => 1,
         'status' => 'active',
         'nickname' => 'Mohammad'
     ] ,
     [
         'id' => 5,
         'status' => 'deactive',
         'nickname' => 'Ghanbari'
     ] ,
];

$index = 'id';

Batch::update($table, $value, $index);

批量添加数据:

use Mavinoo\LaravelBatch\LaravelBatchFacade as Batch;
$table = 'users';

$columns = [
     'firstName',
     'lastName',
     'email',
     'isActive',
     'status',
];

$values = [
     [
         'Mohammad',
         'Ghanbari',
         'emailSample_1@gmail.com',
         '1',
         '0',
     ] ,
     [
         'Saeed',
         'Mohammadi',
         'emailSample_2@gmail.com',
         '1',
         '0',
     ] ,
     [
         'Avin',
         'Ghanbari',
         'emailSample_3@gmail.com',
         '1',
         '0',
     ] ,
];

$batchSize = 500; // insert 500 (default), 100 minimum rows in one query

$result = Batch::insert($table, $columns, $values, $batchSize);
// result : false or array

sample array result:
Array
(
    [totalRows]  => 384
    [totalBatch] => 500
    [totalQuery] => 1
)