所以无论我做什么,我都会不断收到此错误。我没有收到此错误的唯一方法是不调用控制器函数。
Route::get('/station/{id}/edit', [StationController::class, 'showStationEdit'])->name('editStation');
在HTML中,我有
href="{{ route('editStation', $stationId) }}
我也尝试过
href="{{ route('editStation', ['id' => $stationId] ) }}"
最后是函数本身
public function showStationEdit($id) {}
无论我更改/得到此错误
Missing required parameters for [Route: editStation] [URI: station/{id}/edit].
这是我正在呼叫的URL
127.0.0.1/station/1/edit
但是当我使用下面的代码时,它起作用了。.
Route::get('/station/{id}/edit', function($id) {
//.. something
})->name('editStation');
答案 0 :(得分:2)
您可以更改参考类型。 例如,您可以像这样在ENV文件中描述您的网站名称:
application_url = 'yourdomain.com or local ip http://127.0.0.1'
然后,您可以像这样在html上计算您的网址:
href="{{env('application_url')}}/145/edit"
,您可以像这样描述您的路线:
Route::get('/station/{id}/edit', [StationController::class, 'showStationEdit']);
或像这样直接使用href,如果您在本地工作,则IP很重要:
href="http://127.0.0.1/1254/edit"
我希望它能回答您解决问题的方式。
答案 1 :(得分:1)
此处有一些更改,不确定到底是什么引起了您的问题,但这是可行的:
路线
Route::get('/station/{id}/edit', 'StationController@showStationEdit')->name('editStation');
控制器
class StationController extends Controller
{
public function showStationEdit($id) {
return view('edit', ['id' => $id]);
}
}
查看:(edit.blade.php)
The id is: {{ $id }}
HTML
<a href="{{ route('editStation', 5) }}">Test</a>