laravel Eloquent模型save多次只能保存一条数据的问题

更新时间:2023-05-25 21:55
如下代码:
$model->title=11111111;
$model->link=11111111;
$model->status=0;
$model->save();
//save()成功后此时$this->model将会指向新保存的对象, 可以通过 dd($s);来查看结果
//以下的代码实际上相当于更新对象啦.
$model->title=11111111;
$model->link=11111111;
$model->status=0;
$model->save();
看似是保存两次数据,可实际上只能保存一条,因位操作的始终是同一个对象...
改为一下:
$model->title=11111111;
$model->link=11111111;
$model->status=0;
$model->save();
$model=new Link();
$model->title=11111111;
$model->link=11111111;
$model->status=0;
$model->save();

成功执行两条

一般新建多条数据一般使用模型的create方法

$this->model->create([]);

   //源码追踪,每次都Create a new instance of the model being queried.
    public function create(array $attributes = [])
    {
        return tap($this->newModelInstance($attributes), function ($instance) {
            $instance->save();
        });
    }