无法访问受保护的属性


Cannot access protected property

我正在学习Laravel的(4)Eloquent,当涉及到从返回的Eloquent对象访问属性时,我迷路了。这段代码不起作用:

public function show($email)
{
    $client = Client::where('email', $email)->get();
    echo var_dump($client->items);
}

包含包括email在内的所有子属性的items属性是受保护的,这意味着我不能通过$client->items->email访问它。所以我的问题是我如何访问$client对象的属性?

get()用于根据查询获取所有记录,这意味着它将返回一些您可以循环的内容,例如,如果您将var_dump($client->items)更改为var_dump($client[0]->items,则可以工作。相反,如果您只需要一条记录,请使用first()而不是get()调用Eloquent模型。