Свойство [nama_kategori] не существует в этом экземпляре коллекции - PullRequest
0 голосов
/ 29 июня 2019

это мой контроллер

public function show()
{
    $categori = Categori::all();
    $artikel = Artikel::all();
    $artikel_detail = $artikel;
    $artikel = Artikel::latest()->get()->random(4);
    $artikel = Artikel::latest()->get();
    $artikel = Artikel::latest()->get();
    return view('post.artikel_detail', compact('categori', 'artikel', 'artikelall'));
}

это мой маршрут web.php

Route::get('/Artikel/{artikel}', 'web\PostController@show')->name('artikel.detail');

это мой файл

<div class="col-lg-9 col-md-9 blog_details">
    <h2>{{$artikel->nama_kategori}}</h2>

Ответы [ 3 ]

0 голосов
/ 29 июня 2019

человек, у вас есть несколько ошибок, во-первых, вы не передаете свой «артикель» в функцию show, это должно быть public function show(Artikel $artikel), затем вы повторили что-то в вашем контроллере, все остальное кажется правильным

0 голосов
/ 29 июня 2019

Да, есть несколько проблем с кодом выше.Как только вы передадите $artikel для показа (или удалите из своего маршрута, поскольку вы ищете только первый), вы можете устранить ошибку. Конкретный ответ на ошибку :

Свойство [nama_kategori] не существует в этом экземпляре коллекции

означает, что вы тянетеколлекция, а не одна модель .Метод get() возвращает коллекцию моделей $artikel.Чтобы устранить эту конкретную ошибку, измените ваш розыгрыш на:

$artikel = Artikel::latest()->first();

или

$artikel = Artikel::latest()->take(1);

Это даст одну модель, из которой

<h2>{{$artikel->nama_kategori}}</h2>

не будетдать вам ошибку.

0 голосов
/ 29 июня 2019

Вы должны поместить параметр в метод show

public function show($artikel)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...