【问题标题】:php laravel compact and use attibute not workphp laravel 紧凑和使用属性不起作用
【发布时间】:2016-04-30 01:53:47
【问题描述】:

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

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

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

}

在我看来,我需要使用属性标题形式的词,然后我调用。

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

它有错误问题说 Undefined property: Illuminate\Database\Eloquent\Collection::$title .

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    这是因为$wordscollection

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

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

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

    $words->first()->title
    

    【讨论】:

      【解决方案2】:

      如果您在视图中输出此内容,那么您可以使用 Blade 语法在您的 Collection 中循环。

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

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

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

      【讨论】:

        猜你喜欢
        • 2017-01-26
        • 1970-01-01
        • 2019-02-12
        • 2020-08-04
        • 1970-01-01
        • 1970-01-01
        • 2019-02-14
        • 2017-08-09
        • 2020-05-17
        相关资源
        最近更新 更多