将位置应用到用户关系

applying a where to users relation

我有这条线

return User::with('image')->with('profile')->paginate(30);

它利用图像数据和配置文件数据获取所有用户,但我似乎无法找到将 where 子句应用于配置文件的方法

例如,如果我不想让所有用户都拥有图片和个人资料,但前提是个人资料中的值等于 x 因此,例如,如果在个人资料中将性别设置为男性,我不想抓住他们

无论配置文件关系中的值是多少,我如何在不抓住所有人的情况下做到这一点?

您可以使用 whereHas 方法:

return User::with('image', 'profile')->whereHas('profile', function ($query) {
    $query->where('gender', 'male');
})->get();