我正在尝试在数据库中插入一些数据。我创建了包含所有字段和控制器的表单。 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是有效的回调,没有给定的数组或字符串 我不知道我做错了什么因为我是laravel的新人
答案 0 :(得分:0)
在route.php文件中更改此行
Route::post('store', array('store' => 'CarController@store'));
到
Route::post('uses', array('uses' => 'CarController@store'));
&#39;使用&#39;指定访问路径时要调用的函数
答案 1 :(得分:0)
您正在使用资源控制器,这就是为什么您只需要一个路由声明,例如:
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
还有更多,您应该查看Resource Controllers。在这种情况下,您的控制器中有两种方法,如果您使用url
yourdomain.com/cars/create
使用GET
方法(如果您从浏览器的地址栏导航),那么它&# 39; ll调用create
方法,如果您使用form
方法向POST
提交yourdomain.com/cars
,那么它将调用store
方法和所有方法表单字段将在$_POST
数组中提供,您可以使用Input::get('id')
获取id
字段的值。检查文档以获取更多信息。