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

时间:2019-06-29 17:12:12

标签: php laravel laravel-5.6

这是我的控制器

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 :(得分:0)

您应该将参数放入show方法中

public function show($artikel)

答案 1 :(得分:0)

人,您有多个错误,首先您没有在show函数中传递“ artikel”,应该是public function show(Artikel $artikel),然后在控制器中重复了一些事情,其他一切似乎都正确

答案 2 :(得分:0)

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

  

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

是您要提取集合,而不是单个模型get()方法将返回$artikel模型的集合。要解决此特定错误,请将绘图更改为:

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

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

这将产生一个单一的模型,

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

不会给您错误。