Database Laravel雄辩的创建忽略列

Database Laravel雄辩的创建忽略列,database,laravel,eloquent,Database,Laravel,Eloquent,我有一个很有说服力的课程,内容是受保护的集合: protected $fillable = array('user_id', 'key', 'value'); 但如果我这样做: Foo::create(array('user_id'=>1, 'key'=> 1, 'value' => 'v')); 我明白了 另一方面 Foo::insert(array('user_id'=>1, 'key'=> 1, 'value' => 'v')); 完美无瑕。我遇到

我有一个很有说服力的课程,内容是受保护的集合:

protected $fillable = array('user_id', 'key', 'value');
但如果我这样做:

Foo::create(array('user_id'=>1, 'key'=> 1, 'value' => 'v'));
我明白了

另一方面

Foo::insert(array('user_id'=>1, 'key'=> 1, 'value' => 'v'));

完美无瑕。

我遇到了这个问题。我正在覆盖模型对象中的_构造方法。在我删除我的_构造方法后,一切似乎都恢复了正常


我不能肯定这就是你正在经历的,这个答案是在你最初的问题提出6个月后给出的,但希望这能帮助其他遇到同样问题的人。

看起来不错。。我的猜测是$fillable变量实际上并不存在。insert之所以有效,是因为它跳过了所有模型内容,并直接处理数据库查询。出于调试目的,请尝试在创建Foo之后转储$filleble。出于调试目的,您还可以尝试解除对它的保护:Foo::setUnguardStateTTrue。
Foo::insert(array('user_id'=>1, 'key'=> 1, 'value' => 'v'));