Laravel如何基于模型获取用户是否存在

时间:2020-09-07 09:40:22

标签: php laravel

在我的laravel应用程序中,我想显示所有用户/候选人的列表。到目前为止,我有这个,基本上可以正常工作:

public function candidates()
{
    $users = User::whereHas(
        'roles',
        function ($q) {
            $q->where('slug', 'candidates');
        }
    )->get();

    return response(['success' => true, "users" => $users], 200);
}

现在,我实际上想显示受过教育的用户/候选人。我有一个名为UserEducation的模型,但我真的不知道将其包括在内以获取所需的数据。

有人可以帮我吗?

编辑

在我的用户模型中,我有以下关系:

public function educations()
{
    return $this->hasMany('App\Models\UserEducation');
}

2 个答案:

答案 0 :(得分:2)

您可以使用has

 $users = User::has('UserEducation')->whereHas(
        'roles',
        function ($q) {
            $q->where('slug', 'candidates');
        }
    )->get();

答案 1 :(得分:0)

您可以尝试与User和UserEducation模型建立关系,然后获取数据。 https://laravel.com/docs/7.x/eloquent-relationships