Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用参数创建[Laravel 5.2]_Php_Laravel_Laravel 5_Routes_Laravel 5.2 - Fatal编程技术网

Php 使用参数创建[Laravel 5.2]

Php 使用参数创建[Laravel 5.2],php,laravel,laravel-5,routes,laravel-5.2,Php,Laravel,Laravel 5,Routes,Laravel 5.2,我想在创建操作中使用参数,但当我尝试访问该操作时: App\Http\Controllers\AdsDiagController::create()缺少参数1 以下是创建操作: public function create($id){ $record = TestRecord::findOrFail($id); return view("adsdiag.create", ["record" => $record]); } 以下是该行动的链接: 路线: Route::re

我想在创建操作中使用参数,但当我尝试访问该操作时:

App\Http\Controllers\AdsDiagController::create()缺少参数1

以下是创建操作:

public function create($id){
    $record = TestRecord::findOrFail($id);
    return view("adsdiag.create", ["record" => $record]);
}
以下是该行动的链接:

路线:

Route::resource('adsdiag', 'AdsDiagController');

我是拉威尔的新手,我对路线很困惑。非常感谢您的帮助。

您需要将参数传递给数组中的
action()
helper方法,即使它只是一个参数:

action('AdsDiagController@create', [$record->id])

要解决您的问题,您应该在
route.php中使用

Route::get('adsdiag/{id}/',AdsDiagController@create);
原因

当您调用
Route::resource('adsdiag','AdsDiagController')
时,它会生成这些路由

Route::get('adsdiag','AdsDiagController@index');
Route::post('adsdiag','AdsDiagController@store');
Route::get('adsdiag/create','AdsDiagController@create'); // you can see that create method doesn't have any arguments here.
Route::get('adsdiag/show/{id}','AdsDiagController@show');
Route::post('adsdiag/update','AdsDiagController@update');
Route::get('adsdiag/edit/{id}','AdsDiagController@edit');
Route::delete('adsdiag/destroy/{id}','AdsDiagController@destroy');
由于
Route::get('adsdiag/{id}/'),AdsDiagController@create);不是由
Resourcce
生成的,因此您需要明确地将其包含在路由中