2016-04-29 44 views
1

在我的控制器是紧凑的对象与此代码PHP laravel紧凑,使用attibute不行

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

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

} 

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

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

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

回答

2

这是因为$wordscollection

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

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

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

$words->first()->title 
+0

确定THXü非常非常有用的 –

1

如果您'在您的视图中输出这个信息,那么您可以使用Blade语法循环访问您的Collection

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

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

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