将 [标题] 添加到可填充属性以允许在 [应用\发布] 上进行批量分配

2022-08-30 10:47:54

在Mysql中插入数据时,我遇到了以下错误:

“将 [title] 添加到可填充属性以允许在 [App\Post] 上进行批量分配。”

这是我的代码:

$post = Post::create([
'title' => $request->input('title'),
'body' => $request->input('body')
]);

当我使用另一种方式插入数据时,它工作正常:以下代码工作正常:

//Create Post
$post = new Post;
$post->title = $request->input('title');
$post->body = $request->input('body');
$post->save();
   

任何人都可以解释为什么代码的上半部分会抛出错误?


答案 1

在模型 Post 中向可填充数组添加标题,以允许通过创建和海量方法进行保存

protected $fillable = ['title'];

答案 2

替代方案是:protected $fillable = ['title'];

protected $guarded = [];  

并将其保留为空数组,而无需在内部定义任何内容。它与 完全相反,有点像告诉数据库接受所有内容,除了您在数组中指定的字段。$fillable$guarded


推荐