Laravel 5 关系不显示相关字段Laravel
使用Laravel 5.4 我有两张桌子:起源和咖啡 它们之间的关系: 在咖啡模式中:Laravel 5 关系不显示相关字段Laravel,laravel-5,relationship,Laravel 5,Relationship,使用Laravel 5.4 我有两张桌子:起源和咖啡 它们之间的关系: 在咖啡模式中: public function origin() { return $this->belongsTo('App\Origin'); } 在原始模型中: public function coffee() { return $this->hasMany('App\Coffee'); } 在我的控制器中,我有以下方法: $origins = Origin::with(['coffee'
public function origin()
{
return $this->belongsTo('App\Origin');
}
在原始模型中:
public function coffee()
{
return $this->hasMany('App\Coffee');
}
在我的控制器中,我有以下方法:
$origins = Origin::with(['coffee' => function ($query) {
$query->where('active', 1);
$query->orderBy('name', 'asc');
}])->orderBy('name', 'asc')->get();
我认为:
@foreach($origins as $origin)
{{ $origin->name }}
<pre>{{ $origin->coffee->name }}</pre>
@endforeach
我得到这个错误:
此集合实例上不存在属性[name]
如果我输入代码:
@foreach($origins as $origin)
{{ $origin->name }}
@foreach($origin->coffee as $coffee)
<pre>{{ $coffee->name }}</pre>
@endforeach
@endforeach
我得到了所有的咖啡,属于原产地
我做错了什么?$origin->coffee是一个集合,而不是单个对象。您的模型还告诉我们,一个原产地模型有许多咖啡模型
要列出当前来源的所有咖啡,请执行以下操作:
啊,有趣的是,我想我试过那个选项,但我想我可能犯了一些拼写错误或其他什么,因为它也给了我一个错误。无论如何,复制并粘贴您的解决方案,一切都很好,谢谢!
@foreach($origins as $origin)
{{ $origin->name }}
@foreach($origin->coffee as $coffee)
<pre>{{ $coffee->name }}</pre>
@endforeach
@endforeach