laravel - Laravel 面包屑有问题
问题描述
我正在使用 davejamesmiller 的 Breadcrumbs 包,在帖子视图中获取帖子类别时遇到了一些麻烦。我希望我的面包屑是这样的:
Home > Category > Post
我这样定义面包屑:
// Home
Breadcrumbs::for('home', function ($trail) {
$trail->push('Home', route('home'));
});
// Home > [Category]
Breadcrumbs::for('category', function ($trail, $category) {
$trail->parent('home');
$trail->push($category->title, route('category', $category->slug));
});
// Home > [Category] > [Post]
Breadcrumbs::for('post', function ($trail, $post) {
$trail->parent('category', $post->category);
$trail->push($post->title, route('post', $post->slug));
});
并在帖子视图模板中调用此代码以输出面包屑:
{{ Breadcrumbs::render( 'course', $course, $category ) }}
但收到此错误:
Undefined property: stdClass::$category
这指的是这一行定义的面包屑:
$trail->parent('category', $post->category);
我的帖子表没有类别列,我不知道应该将什么作为父方法的第二个参数传递!我应该将其他表中的帖子类别行传递给我的帖子视图吗?我应该传递什么作为第二个参数?
解决方案
我通过将$category
变量传递给我定义的面包屑来解决我的问题。像这样:
Breadcrumbs::for('post', function ($trail, $post, $category) {
$trail->parent('category', $category);
$trail->push($post->title, route('post', $post->slug));
});
然后在我看来,我将输出代码更改为:
{{ Breadcrumbs::render( 'post', $post, $category ) }}
我还通过帖子的类别表行从控制器查看。
推荐阅读
- javascript - 谷歌表格脚本将完成的行移动到新工作表
- javascript - 如何在 React (JSX) 中连接动态值
- google-apps-script - 无法在我的谷歌脚本中使用 danfo-js 库
- javascript - Vue - 如果路由器页面上存在类,则显示另一个类
- machine-learning - 解码器中的编码器 = LSTM(128)(encoder) 是隐藏状态还是解码器的输入?
- python - 有没有更好的方法来使用将 fillna() 中的浮点值转换为对象 dtype?
- javascript - 是否可以使用 firebase 测试非 https 功能?
- mongodb - Mongo DB - 将数据类型更改为布尔值导致对象类型
- assembly - 程序集 x86-64 idivq - 浮点异常
- javascript - 在反应中使用地图渲染 2 列