模型内置的create批量赋值方法无法将数据正确插入数据库
1. 运行环境
1). 当前使用的 Laravel 版本?
9.2
2). 当前使用的 php/php-fpm 版本?
PHP 版本:8
php-fpm 版本:8
3). 当前系统
windows
4). 业务环境
5). 相关软件版本
2. 问题描述?
这是我要 插入的数据
AuthAgent::query()->create($agentInfo);
/**
* Define table name
*
* @var string
*/
protected $table = 'ctrl_auth_agent';
/**
* Define a primary key
*
* @var string
*/
protected $primaryKey = 'id';
/**
* 不可以批量赋值的属性
*
* @var array
*/
protected $guarded = [];
3. 您期望得到的结果?
4. 您实际得到的结果?
我想把数据插入数据库 可实际他进行了报错 如果将黑名单 改为白名单 虽然可以进行插入 但是数据库的数据依旧是空的
如果你想在单个查询中执行多个「新增或更新」,那么应该使用 upsert 方法。该方法的第一个参数包含要插入或更新的值,而第二个参数列出了在关联表中唯一标识记录的列。该方法的第三个也是最后一个参数是一个列数组,如果数据库中已经存在匹配的记录,则应该更新这些列。如果在模型上启用了时间戳,upsert 方法将自动设置 created_at 和 updated_at 时间戳: