属性 [nama_kategori] 在此集合实例上不存在

Property [nama_kategori] does not exist on this collection instance

这是我的控制器

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>

你应该把参数放到方法 show

public function show($artikel)

伙计,你有多个错误,首先你没有在你的 show 函数中传递你的 "artikel",应该是 public function show(Artikel $artikel),然后你在你的控制器中重复了一些事情,其他一切似乎对

是的,上面的代码有几个问题。一旦你通过 $artikel 显示(或从你的路线中删除,因为你只寻找第一个),你可以解决错误。 错误的具体答案

Property [nama_kategori] does not exist on this collection instance

是你拉的是合集,不是单个模型get() 方法返回 $artikel 模型的集合。要解决此特定错误,请将抽签更改为:

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

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

这将生成一个模型,

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

不会给你报错。