Массовое назначение Laravel не заполняет поля

У меня есть модель, которая, похоже, не может быть назначена массой, хотя я заполнил поля, $fillable :

 class LoginAttempt extends Eloquent { protected $table = 'login_history'; protected $fillable = array('remote_addr', 'user_agent', 'successful'); public function user() { return $this->belongsTo('User'); } } 

Что использует эту схему:

  • login_history
    • Я бы
    • Идентификатор пользователя
    • remote_addr
    • user_agent
    • успешный
    • создан в
    • updated_at

Когда я массой назначаю экземпляр с этими переменными,

 $vars = array( 'remote_addr' => $_SERVER['REMOTE_ADDR'], 'user_agent' => $_SERVER['HTTP_USER_AGENT'], 'successful' => false, ); print_r($vars); => array('remote_addr' => '127.0.0.1', 'user_agent' => 'Moz..', 'successful' => false); new LoginAttempt($vars); => LoginAttempt instance, attributes => array() LoginAttempt::create($vars); => LoginAttempt instance, attributes => array() $login = new LoginAttempt; $login->fill($vars); => LoginAttempt instance, attributes => array() $login = new LoginAttempt; $login->remote_addr = $vars['remote_addr']; $login->user_agent= $vars['user_agent']; $login->successful= $vars['successful']; => LoginAttempt instance, attributes => array('remote_addr' => '..', 'user_agent' => '..', 'successful' => false) 

Я думаю, что я использую $fillable как описано в документах – почему в этом случае не работает массовое задание?

Оказывается, это была ошибка в Laravel ( исправлена ) – все поля охраняются по умолчанию ( protected $guarded = array('*'); ), который тогда имел приоритет над $fillable .