猿问

我无法访问我的数据库关系中的 MODEL 字段

我无法访问我的数据库中的 MODEL 字段


这是我执行的代码:


@foreach($clients as client)

    {{$client->dependents->fname}}

    {{$client->dependents->mname}}

    {{$client->dependents->lname}}

@endforeach

此代码返回error:此集合实例上不存在属性 [fname]。


当我执行此代码时:


@foreach($clients as client)

    {{$client->dependents}}

@endforeach

此代码返回一个successful数据数组。


这是我的客户端模型:


class Client extends Model

{

    protected $guarded = [];


    public function dependents() {

        return $this->hasMany(Dependent::class);

    }

}

这是我的依赖模型:


class Code extends Model

{

    protected $guarded = [];


    public function client()

    {

        return $this->hasOne(Client::class);

    }

}

如何使用 eloquent 模型方法检索每个字段?


慕妹3146593
浏览 177回答 2
2回答

慕雪6442864

它是HasMany关系 AND 它返回多个部门,因此fname未定义。因为它有部门的对象,而不是部门,你缺少$的@foreach($clients as client)。@foreach($clients as $client) @foreach($clients->dependents as $department)   {{$dependent->fname}}   {{$dependent->mname}}   {{$dependent->lname}} @endforeach@endforeach试试这个,它会为你工作。享受!

慕尼黑的夜晚无繁华

为了访问家属模型的字段,你需要做一个foreach,因为客户端模型的hasMany家属和当您尝试访问只需$客户- > dependents-> FNAME不知道哪一个访问。因此,您需要执行以下操作:@foreach($clients as $client)    @foreach($client->dependents as $dependent)       {{$dependent->fname}}       {{$dependent->mname}}       {{$dependent->lname}}    @endforeach@endforeach
随时随地看视频慕课网APP
我要回答