【问题标题】:Cannot access protected property无法访问受保护的财产
【发布时间】:2023-07-24 18:43:01
【问题描述】:

我正在学习 Laravel 的 (4) Eloquent,但在从返回的 Eloquent 对象中访问属性时我迷路了。此代码不起作用:

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

}

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

【问题讨论】:

    标签: php laravel eloquent


    【解决方案1】:

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

    【讨论】:

      最近更新 更多