我有一个简单的模型 IsolatedQuery
,它由一个 name
和 query
字段组成。我已经在模型的 $fillable
属性中定义了这两个字段。 IsolatedQueryController@store 看起来像这样:
public function store(IsolatedQueryRequest $request)
{
IsolatedQuery::insert($request->all());
session()->flash('flash_message', 'Isolated Query succesvol opgeslagen');
return redirect('iq');
}
为了完整起见,这是模型的来源(它和我描述的一样少)
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class IsolatedQuery extends Model
{
protected $fillable = [
'name',
'query'
];
}
IsolatedQueryRequest
只需要name
和query
都填入任意值。
使用给定的名称和查询值调用 store
方法时出现错误:SQLSTATE[42S22]: Column not found: 1054 Unknown column '_token' in 'field list'
。
很明显 _token
字段随请求一起发送,但我有点困惑为什么它试图将它与实际的 SQL 查询一起存储,因为它没有在 $fillable< 中列出
数组。
为什么要批量分配?
最佳答案
您使用查询生成器的方法 insert
。它不检查 fillable
。
你应该使用Eloquent的create
或update
方法。
请阅读documentation .
此外,您可以将输入数据传递给 Eloquent 的 construct
或 fill
方法。之后,您可以使用 save
方法。
关于php - Laravel 5.2 模型 $fillable 被忽略了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36623631/