php – 使用参数创建[Laravel 5.2]

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

Missing argument 1 for App\Http\Controllers\AdsDiagController::create()

这是创建动作:

public function create($id){
    $record = TestRecord::findOrFail($id);
    return view("adsdiag.create", ["record" => $record]);
}

以下是该操作的链接

< a href =“{!! action('AdsDiagController @ create',$record-> id)!!}”>创建< / a>

路线:

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

我是laravel的新手,我真的很困惑路线.我感谢任何帮助.

解决方法:

解决您的问题,您应该在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生成的,因此您需要明确地包含在您的路线中.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...