gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-10-31 23:17:26 25 4
gpt4 key购买 nike

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

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

这是创建操作:

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

这是 Action 的链接:

<a href="{!! action('AdsDiagController@create', $record->id ) !!}">Create</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); 不是由 Resourcecce 生成的,所以你需要在你的 route 包含明确地。

关于php - 使用参数创建 [Laravel 5.2],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36410984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com