Nir*_*paz 5 laravel eloquent laravel-4
我创建了一个名为Author的模型.我试着在eloquent create方法的帮助下创建一个模型,如下所示:
public function postCreate(){
Author::create(array(
'user' => Input::get('user'),
'info' => Input::get('info')
));
return Redirect::to('authors')
->with('message', 'User created successfully');
}
Run Code Online (Sandbox Code Playgroud)
'user'和'info'是表单元素的名称.我确信我并没有误解错字.当我运行它时,不会创建模型并显示MassAssignmentException.
但是,当我尝试使用以下方法时,模型已创建并保存在表中
public function postCreate(){
$author = new Author;
$author->name = Input::get('user');
$author->info= Input::get('info');
$author->save();
return Redirect::to('authors')
->with('message', 'User created successfully');
}
Run Code Online (Sandbox Code Playgroud)
我真的想要使用create方法,它看起来更干净,更简单.
Gad*_*oma 10
这应该适合你:
1)已经由@fideloper和@-shift-exchange列出,在您的作者模型中,您需要创建以下字段(这是您希望可用于自动填充的所有数据库列的白名单[质量分配])
protected $fillable = array('user','info', ... ,'someotherfield');
Run Code Online (Sandbox Code Playgroud)
2)使用下面的代码来解雇质量分配机制
$author = new Author;
$author->fill(Input::all());
$author->save();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11777 次 |
| 最近记录: |