gpt4 book ai didi

php - 具有 2 个参数的 Laravel 面包屑导航

转载 作者:行者123 更新时间:2023-12-05 07:38:51 25 4
gpt4 key购买 nike

我有一个依赖于 2 个参数的路由:

Route::get('{place}/{treatment}', 'ClinicController@showResults')->name('clinic.search.results');

我想将此结果的面包屑显示为:

Home -> {Place} -> {Treatment}

但最好不要将“place”链接到任何东西,因为我还没有设置仅处理“place”的路由。它返回 404。

我在 breadcrumbs.php 中将其设置为:

Breadcrumbs::register('clinic.search.results', function ($breadcrumbs, $place, $treatment) {
$breadcrumbs->parent('location', $place);
$breadcrumbs->push($treatment, route('clinic.search.results', $place, $treatment));
});

但是抛出异常:

Type error: Too few arguments to function DaveJamesMiller\Breadcrumbs\BreadcrumbsServiceProvider::{closure}(), 1 passed in /home/vagrant/compare/vendor/davejamesmiller/laravel-breadcrumbs/src/BreadcrumbsGenerator.php on line 68 and exactly 3 expected (View: /home/vagrant/resources/views/clinic/search/results.blade.php)

请问我错过了什么?提前谢谢你。

最佳答案

我认为问题应该是 {Place} -> {Treatment} 是另一个级别,也许你应该检查 route() helper

首先您应该定义 {Place} - 设置为父级并推送,接下来定义 {Treatment} 设置父级 {Place} 并推送 {Treatment}

请检查您的route() 助手,第一个参数是字符串形式的路由名称,第二个是数组形式的参数。所以 route('clinic.search.results', ['place' => $place, 'treatment' => $treatment])

请检查 bradcrumbs 包 documentation

在 L5.5 中,路由助手定义如下

if (! function_exists('route')) {
/**
* Generate the URL to a named route.
*
* @param string $name
* @param array $parameters
* @param bool $absolute
* @return string
*/
function route($name, $parameters = [], $absolute = true)
{
return app('url')->route($name, $parameters, $absolute);
}
}

关于php - 具有 2 个参数的 Laravel 面包屑导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47496297/

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