在布局中,我正在使用foreach语句显示所有类别(来自数据库)。在页面中,它是通过show()函数显示的页面。这似乎有点矛盾,因为我必须对布局使用all()并在页面中使用find()。有什么办法可以解决此问题?
public function show($id)
{
$categories = category::find($id);
$products = product::all()->sortBy('ID');
$categories = category::all()->sortBy('ID');
return view('categories', compact('products','categories'));
}
Run Code Online (Sandbox Code Playgroud)
在模板中
@foreach($categories as $category)
<li class="text-uppercase" style="white-space: nowrap;"><a href="{{ route('category.show', $category->id) }}">{{ $category->name}}</a></li>
@endforeach
Run Code Online (Sandbox Code Playgroud)
在页面本身(localhost:8000 / category / 5)中,我只想在页面中显示类别的名称,而不像上面的代码块那样显示所有内容。
{{ $categories->name}}
Run Code Online (Sandbox Code Playgroud)
当我将all()和find()都放在同一个函数中时
这是错误消息:
属性[名称]在此集合实例上不存在。(视图:C:............. \ resources \ views \ categories.blade.php)