В моих макетах я отображаю все категории (из моей базы данных), используя оператор foreach. На странице это страница, показанная с помощью функции show (). Это кажется немного противоречивым, потому что я должен использовать all () для макета и найти () на странице. Есть ли способ обойти это?
public function show($id)
{
$categories = category::find($id);
$products = product::all()->sortBy('ID');
$categories = category::all()->sortBy('ID');
return view('categories', compact('products','categories'));
}
В шаблоне
@foreach($categories as $category)
<li class="text-uppercase" style="white-space: nowrap;"><a href="{{ route('category.show', $category->id) }}">{{ $category->name}}</a></li>
@endforeach
На самой странице ( localhost: 8000 / category / 5 ) я просто хочу отображать название категории на странице, а не отображать все, как в приведенном выше блоке кода.
{{ $categories->name}}
Когда я помещаю оба all () и find () в одну и ту же функцию
Это сообщение об ошибке: -
Свойство [имя] не существует в этом экземпляре коллекции. (Просмотр: C: ............. \ resources \ views \ Categories.blade.php)