此集合实例上不存在属性

时间:2017-05-27 09:56:05

标签: laravel-5 laravel-eloquent

我有一个拥有多个约会模型的客户端模型。并且约会属于客户。我试图返回结果,显示客户端的名称以及索引刀片上的约会列表。到目前为止,这是我的代码:

客户端模型

public function appointment()
{
    return $this->hasMany(Appointment::class);
} 

预约模式

public function client()
    {
        return $this->belongsTo(Client::class);
    }

控制器

$clients = Client::with('appointment')->get();

        //dd($clients); 
        return view('scheduler')->withclients($clients);

刀片

@foreach($clients as $client
{{ $client->name }}
{{ $client->appointment->id }}
@endforeach

如何打印$客户名称及其约会列表?我在这个问题上尝试了其他帮助,但我不清楚我哪里出错了。

1 个答案:

答案 0 :(得分:0)

所以你们的关系是一对多的关系。那你有很多appointments

您可以首先遍历客户端列表,然后在内部循环中遍历约会:

@foreach($clients as $client)
{{ $client->name }}
    @foreach($clients->appointment as $appointment)
        {{ $appointment->id }}
        {{ $appointment->name }}
    @endforeach
@endforeach

无论如何,重新审视appointment模型可能会更容易,因为它只与一个客户有关:

@foreach(Appointment::all() as $appointment)
    {{ $appointment->name }}
    {{ $appointment->client->name }}
@endforeach