Laravel 5 关系不显示相关字段Laravel

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'

使用Laravel 5.4

我有两张桌子:起源和咖啡

它们之间的关系:

在咖啡模式中:

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