Laravel 4 eblequent可填写的质量分配错误

时间:2013-06-08 05:37:43

标签: php laravel laravel-4 eloquent

我目前正在学习L4的雄辩,我遇到了这个大规模的作业。我按照说明操作,我知道您需要设置$fillable以使用create方法,但我仍然在数据库中收到一个空白行。这是我的代码:

MODEL:

class User extends Eloquent  
{
    protected $fillable = array('email','pwd','active','name');
}

控制器:

$user = new User;
$add = array(
    'name'=>Input::get('custname'),
    'active'=>1,
    'pwd'=>Hash::make(Input::get('pwd')),
    'email'=>Input::get('email')
);

return var_dump($user->create($add));

我也做了: CONTROLLER

$add = array(
'name'=>Input::get('custname'),
'active'=>1,
'pwd'=>Hash::make(Input::get('pwd')),
'email'=>Input::get('email')
);

return var_dump(User::create($add));

但结果仍然相同。

2 个答案:

答案 0 :(得分:1)

导致此错误,请参阅https://github.com/laravel/framework/issues/1548 现在应该修复,运行composer update以获取最新版本的laravel/framework

答案 1 :(得分:0)

对于新版本,您可以使用公开或受保护的关键字。

简单使用:

protected $fillable = [‘email’, ‘pwd’,’active’,’name’];

如果您正在使用其他模型,也可以指定表名:

public $table = ‘users’

在项目目录的根目录上运行composer update后,这样可以正常工作。