首页 文章

php laravel compact 并且使用 attibute 不起作用

提问于
浏览
1

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

public function getEdit($var = '') {
    $words = Word::where('title', $var)->get();

    return view('dict.edit', compact('words'));

}

在我看来,我需要使用 attibute 标题形式的单词然后我打电话。

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

它有错误问题说 Undefined 属性:Illuminate\Database\Eloquent\Collection::$title。

2 回答

  • 1

    如果您在视图中输出此内容,则可以使用 Blade 语法循环遍历Collection

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

    为了好玩,Collection类有一些调用方法,所以如果你想一次列出所有标题:

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

    这是因为$words采集

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

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

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

    $words->first()->title
    

相关问题