我试图在数据库中插入一些数据。我创建了包含所有字段和控制器的表单。CarController.php
public function create() {
// load the create form (app/views/pages/create.blade.php)
return View::make('pages.create');
}
public function store() {
// store
$data = new Car;
$data->id = Input::get('id');
$data->save();
// redirect
Session::flash('message', 'Successfully created data!');
return Redirect::to('pages/cars');
}routes.php
Route::resource('cars', 'CarController');
Route::post('desc', array('uses' => 'CarController@show'));
Route::post('create', array('uses' => 'CarController@create'));
Route::post('store', array('store' => 'CarController@store'));create.blade.php
{{ Form::open(array('url' => 'store', 'class'=>'form-horizontal')) }}
<div class="form-group">
{{ Form::label('id', 'Vehicle ID',array('class'=>'control-label col-lg-4')) }}
<div class="col-lg-8">
{{ Form::text('id', Input::old('textId'), array('class' => 'form-control', 'placeholder'=>'Vehicle ID')) }}
</div>
</div>
{{ Form::submit('Create the Car!', array('class' => 'btn btn-primary')) }}
</div>问题在于它显示了以下错误:希望参数1是一个有效的回调,没有数组或字符串给定,我不知道我做错了什么,因为我是新来的拉拉
发布于 2014-04-21 16:56:49
您使用的是一个资源控制器,这就是为什么您只需要对此进行一次路由声明,如下所示:
Route::resource('cars', 'CarController');你还宣布了下列路线:
Route::post('desc', array('uses' => 'CarController@show'));
Route::post('create', array('uses' => 'CarController@create'));
Route::post('store', array('store' => 'CarController@store'));实际上,您不需要这些路由声明,只需要使用第一条路由,这将为资源控制器创建路由。例如,您的路线如下所示:
Method | Url | Action | Route Name
--------------------------------------------
GET | /cars/create | create | cars.create // domain.com/cars/create using GET
POST | /cars | store | cars.store // domain.com/cars using POST还有更多,您应该检查资源控制器。在本例中,您的控制器中有两个方法,如果您使用使用url方法的yourdomain.com/cars/create (如果您从浏览器的地址栏导航),那么它将调用create方法,如果您使用POST方法向yourdomain.com/cars提交一个form,那么它将调用store方法,您的所有表单字段将在$_POST数组中可用,您可以使用Input::get('id')来获得id字段的值。有关更多信息,请查看套接字。
发布于 2014-04-21 16:46:52
更改route.php文件中的这一行
Route::post('store', array('store' => 'CarController@store'));至
Route::post('uses', array('uses' => 'CarController@store'));“使用”指定访问路由时要调用的函数
https://stackoverflow.com/questions/23200810
复制相似问题