2013-09-29 42 views
1

我與保護套的雄辯類:Lavavel雄辯創建忽略列

protected $fillable = array('user_id', 'key', 'value'); 

然而,如果我這樣做:

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

我得到

Array 
(
[query] => insert into `foo` (`updated_at`, `created_at`) values (?, ?) 
[bindings] => Array 
    (
     [0] => 2013-09-29 16:32:54 
     [1] => 2013-09-29 16:32:54 
    ) 

[time] => 0.42 
) 

在另一方面

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

完美無瑕。

+0

它看起來是正確的..我的猜測是$可變的變量是不是真的到位。 'Foo :: insert'可以工作,因爲它跳過了所有的模型,直接使用數據庫查詢。出於調試目的,嘗試在創建Foo之後轉儲$ fillable。你也可以爲了調試目的試圖取消它:'Foo :: setUnguardState(true)'。 –

回答

0

我遇到了這個問題。我在覆蓋模型對象中的__construct方法。刪除我的__construct方法後,一切似乎都恢復正常。

我不能肯定地說這就是你正在經歷的事情(而且這個答案是在你原來的問題後6個月),但是希望這會幫助遇到同樣問題的其他人。