如何使用Laravel 7.0将值从路线传递到控制器?[已关闭]

tf7tbtn2  于 2023-03-04  发布在  其他
关注(0)|答案(4)|浏览(103)

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
7个月前关闭。
Improve this question
我在从Blade传递值时遇到问题
{{ route('<route-name>', '['foe'=> $bar]') }}
路由URL参数具有控制器变量foe
控制器需要来自此路由的值。
如何获取foe的数据?

ukxgm1gy

ukxgm1gy1#

web.php中的路由应该像这样定义:
Route::get('route-name/{foe}', 'SomeController@show')->name('route-name');
在您的控制器中:

public function ($foe) {}

现在$foe应该包含变量$bar的值
更多信息请参见Laravel文档:Laravel路由,参数。

cld4siwp

cld4siwp2#

这将是:

{{ route('<route name>', ['foe' => $bar]) }}

或者,

{{ route('<route name>', $bar) }}
svdrlsy4

svdrlsy43#

使用route() helper函数可以通过两种不同的方式将参数传递给URL:
1.如果定义的路由有一个命名参数,它将被替换为参数名称,并作为一个参数传递给控制器:

Route::get('/example/{foe}', Controller::class)->name('example');

route('example', ['foe' => 'bar']); // "/example/bar"

class ExampleController
{
    public function __invoke($foe)
    {
        // ...
    }
}

1.如果路由没有命名参数,则提供给route()帮助器函数的值将作为查询字符串附加到最终URL,然后您可以从请求对象访问该URL

Route::get('/example', Controller::class)->name('example');

route('example', ['foe' => 'bar']); // "/example?foe=bar"

class ExampleController
{
    public function __invoke()
    {
        request('foe');
    }
}
fwzugrvs

fwzugrvs4#

我的问题得到了解决,我想推荐STA和Ankita Patel解决了我的问题
解决方案采用以下语法:
{{路线('路线名称',['敌人' =〉$bar])}}

相关问题