【发布时间】:2014-08-13 00:22:06
【问题描述】:
我尝试使用这种语法在我的数据库中填写表单
查看:
@extends('layouts.default')
@section('content')
<h1>Create New Authors Page</h1>
{{Form::open(array('url'=>'authors/create','action'=>'AuthorsController@buat'))}}
@include('common.show_error')
<p>
{{Form::label('name', 'Name: ')}}<br>
{{Form::text('name', Input::old('name'))}}
</p>
<p>
{{Form::label('bio','Biography')}}<br>
{{Form::textarea('bio', Input::old('bio'))}}
</p>
<p>{{Form::submit('Add Authors')}}</p>
{{Form::close()}}
@stop
控制器(AuthorsController):
public function buat()
{
Author::create(array(
'name'=>Input::get('name'),
'bio'=>Input::get('bio')
));
return Redirect::route('authors')
->with('message','New Author Succesfully Added');
}
旋转:
Route::post('authors/create', 'AuthorsController@buat');
它没有错误地通过了,但是数据库什么也没填...空白没有任何记录..
但是。当我在控制器中使用此语法时,它可以工作:
public function buat(){
$authorr = new Author;
$authorr->name = Input::get('name');;
$authorr->bio = Input::get('bio');;
$authorr -> save();
return Redirect::route('authors')
->with('message','New Author Succesfully Added');
}
请帮我用第一种语法填充数据库
【问题讨论】:
-
可能
MassAssignementException被抛出,但您在app/config/app.php中有debug = false,所以您没有看到任何错误。检查配置,然后确保您的模型可以填充数组,如下所述laravel.com/docs/eloquent#mass-assignment
标签: database forms laravel eloquent