php laravel压缩和使用attibute不起作用


php laravel compact and use attibute not work

在我的控制器中是带有此代码的紧凑对象

public function getEdit($var = '') {
    $words = Word::where('title', $var)->get();
    return view('dict.edit', compact('words'));
}

在我看来,我需要使用一个不完整的标题形式的单词,然后我打电话。

  <h3>{{ $words->title }}</h3>

它有错误问题说未定义的属性:Illuminate''Database''Eloquent''Collection::$title。

这是因为$words是一个集合。

您应该在循环中使用它,例如:

foreach($words as $word){
    $word->title;
}

如果你只想要第一个对象,你可以使用first方法,如下所示:

$words->first()->title

如果您在视图中输出这个,那么您可以使用Blade语法在Collection中循环。

@foreach ($words as $word)
    {{ $word->title }}
@endforeach

有趣的是,Collection类有一些调用方法,所以如果你想一次列出所有标题:

$words->implode('title', ', ')