Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.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 7缺少所需参数_Php_Laravel_Laravel 7 - Fatal编程技术网

Php Laravel 7缺少所需参数

Php Laravel 7缺少所需参数,php,laravel,laravel-7,Php,Laravel,Laravel 7,所以不管我做什么,我总是会犯这个错误。我没有得到这个错误的唯一方法是不调用控制器函数 Route::get('/station/{id}/edit', [StationController::class, 'showStationEdit'])->name('editStation'); 在我的HTML中 href="{{ route('editStation', $stationId) }} 我也试着做一个 href="{{ route('editStation'

所以不管我做什么,我总是会犯这个错误。我没有得到这个错误的唯一方法是不调用控制器函数

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上校准url,如下所示:

href="{{env('application_url')}}/145/edit"
Route::get('/station/{id}/edit', [StationController::class, 'showStationEdit']);
你可以这样描述你的路线:

href="{{env('application_url')}}/145/edit"
Route::get('/station/{id}/edit', [StationController::class, 'showStationEdit']);
或者像这样直接使用href,如果您在本地:

href="http://127.0.0.1/1254/edit"

我希望这是您解决问题的答案。

您可以更改推荐类型。 例如,您可以在ENV文件中描述您的网站名称,如下所示:

application_url = 'yourdomain.com or local ip http://127.0.0.1'
然后,您可以在html上校准url,如下所示:

href="{{env('application_url')}}/145/edit"
Route::get('/station/{id}/edit', [StationController::class, 'showStationEdit']);
你可以这样描述你的路线:

href="{{env('application_url')}}/145/edit"
Route::get('/station/{id}/edit', [StationController::class, 'showStationEdit']);
或者像这样直接使用href,如果您在本地:

href="http://127.0.0.1/1254/edit"

我希望这是您解决问题的答案。

这里有一些变化,不确定是什么原因导致了问题,但这是有效的:

路线

控制器

class StationController extends Controller
{
    public function showStationEdit($id) {
        return view('edit', ['id' => $id]);
    }
}
视图:edit.blade.php

The id is: {{ $id }}
HTML


这里有一些更改,不确定是什么导致了问题,但这是可行的:

路线

控制器

class StationController extends Controller
{
    public function showStationEdit($id) {
        return view('edit', ['id' => $id]);
    }
}
视图:edit.blade.php

The id is: {{ $id }}
HTML


如果您像下面这样声明您的路由:get'/station/{id}/edit','StationController@showStationEdit'->命名为“编辑站”;?这只是一个简单的例子,因为我不知道PHP可调用语法可以在laravel 7 rouesNope上使用:仍然会发生相同的错误当您收到错误时,您传递给route helper的$stationId的值是多少?如果您像下面这样声明您的路由::get'/station/{id}/edit', 'StationController@showStationEdit'->命名为“编辑站”;?这只是一个简单的例子,因为我不知道PHP可调用语法可以在laravel 7 rouesNope上使用:仍然会发生相同的错误。当您收到错误时,传递给route helper的$stationId的值是多少?在配置文件之外使用env函数。使用config:cache缓存配置后,.env文件将不会加载,对env函数的所有调用都将返回null。我对缓存env文件的知识不太了解,但我通常使用它,并且我没有遇到类似的问题。它的加载非常正常,但当我在我的环境文件中更改某些内容时,我应该清除缓存。你能解释一下你的建议吗?顺便说一句,非常感谢。你想知道更多吗?我提供的链接已经解释得很好了。在配置文件之外使用env函数。使用config:cache缓存配置后,.env文件将不会加载,对env函数的所有调用都将返回null。我对缓存env文件的知识不太了解,但我通常使用它,并且我没有遇到类似的问题。它的加载非常正常,但当我在我的环境文件中更改某些内容时,我应该清除缓存。你能解释一下你的建议吗?顺便说一句,非常感谢。你想知道更多吗?我提供的链接已经解释得很好了。