跳到主要内容
PHP

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

管

管理员

PHP

2022年10月28日 1,353 次阅读
本页目录
如下代码:
$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();
        });
    }

Related

相关文章

同分类文章 →
2026年07月11日 PHP

laravel什么样的方法适合放在模型中?什么适合用专门的服务类? cachedFavIds适合放在模型中吗?

一、适合放在模型中的方法Laravel 采用 ActiveRecord 风格,模型本身就是"数据 + 围绕该数据的操作"的载体。以下几类方法适合放模型: 关联关系:belongsTo、morphTo、hasMany 等。如 UserFav::userfavable()、UserFav::us

2026年04月13日 PHP

Vue3 静态文件放在同域名 Laravel 项目下

核心思路是:Vue3 构建后的静态文件放到 Laravel 的 public/ 目录下,通过 Laravel 路由的 catch-all 机制让 SPA 的前端路由正常工作。方案说明以 xx.com/admin 为例,整体架构如下:请求流程:xx.com/admin/* → Laravel

2025年08月18日 PHP

Laravel Eloquent 中可以通过静态方式调用的方法

在 Laravel Eloquent 中,可以通过静态方式调用的方法包括:1. 查询作用域 (Scopes)// 可以静态调用UserComment::active()->get();UserComment::where('status', 1)->first();2. Eloquent 内置的查询方法UserComment::fi

WeChat

扫码加我微信

微信二维码