Laravel 5 属性在此集合实例上不存在

Laravel 5 属性在此集合实例上不存在,laravel-5,laravel-eloquent,Laravel 5,Laravel Eloquent,我有一个客户模型,它有许多约会模型。约会属于客户。我试图返回结果,在索引刀片上显示客户的姓名以及他们的约会列表。以下是我目前的代码: 客户机模型 public function appointment() { return $this->hasMany(Appointment::class); } 预约模式 public function client() { return $this->belongsTo(Client::class);

我有一个客户模型,它有许多约会模型。约会属于客户。我试图返回结果,在索引刀片上显示客户的姓名以及他们的约会列表。以下是我目前的代码:

客户机模型

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);
刀片


如何打印$client name及其约会列表?在这个问题上,我尝试过其他帮助,但我不清楚我哪里出了问题

所以你的关系是一对多的关系。那时你有很多约会

您可以首先在客户列表上迭代,然后在内部循环中迭代约会:

@foreach($clients as $client)
{{ $client->name }}
    @foreach($clients->appointment as $appointment)
        {{ $appointment->id }}
        {{ $appointment->name }}
    @endforeach
@endforeach
无论如何,查看
预约
模型可能更容易,因为它只与一个客户相关:

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

您错过了
@foreach
行中的一个选项。此外,还介绍了如何使用
withclients()
函数。看起来怎么样?您可以使用(compact(“clients”))通过
返回视图(“..”)->将值传递给视图
@foreach(Appointment::all() as $appointment)
    {{ $appointment->name }}
    {{ $appointment->client->name }}
@endforeach