簡體   English   中英

Laravel 7 缺少必需的參數

[英]Laravel 7 Missing required parameters

因此,無論我做什么,我都會不斷收到此錯誤。 我不會收到此錯誤的唯一方法是不調用控制器函數。

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');

您可以更改參考類型。 例如,您可以像這樣在 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"

我希望它回答你解決你的問題。

這里有一些變化,不確定到底是什么導致了你的問題,但這是有效的:

路線

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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM