Laravel 识别 collection 实例密钥

Laravel identify collection instance key

我已经设置了一对多关系,我想检索许多结果并将它们显示到我的 blade 模板中。我目前收到以下错误 Property [job_title] does not exist on this collection instance.

我认为这是因为我试图获得许多结果,尽管只有一个 collection。我的问题是我怎么知道循环以回显我的数据的关键是什么,例如 @foreach ($WhatHere? as something)

这是我的代码 -

关系

//Client model
public function contact() {
   return $this->hasMany(Contact::class, 'client_id', 'id');
}

//Contct model
public function client() {
    return $this->hasOne(Client::class, 'id', 'client_id');
}

控制器查询

public function show(Client $client, $id)
{
    $client = Client::where('id', $id)->firstOrFail();

    return view('clients.single', compact('client'));
}

Blade

{{$client->contact->job_title}}

由于是一对多的关系,你需要遍历联系人:

@foreach ($client->contact as $contact)
    {{ $contact->job_title}}
@endforeach

或者您可以只显示第一个联系人:

{{ $client->contact->first()->job_title }}