首页 > 解决方案 > 如何过滤具有空个人资料图像的用户?

问题描述

我的过滤器已经在使用此代码

public function search(Request $request)
{
    $users = (new User)->newQuery();

    if ($request->has('gender'))
        $users->where('gender', $request->gender);

    if ($request->has('fromAge') && $request->has('toAge'))
        $users->whereBetween('age', [$request->fromAge, $request->toAge]);

          if ($request->has('country'))
        $users->where('country', $request->country);

    return [$users->get()];
}

现在只有有头像的用户才需要过滤。如何根据我的要求更改此代码?

请注意:-现有过滤器应与新过滤器一起使用。对于没有个人资料图片的用户,我想将其从成员页面中删除。

个人资料图片数据库列名称是profile_image

标签: laravel-5.8

解决方案


您可以在Laravel中使用和检查null列。在您的情况下,您可以像这样附加新的过滤器:whereNullwhereNotNull

...

if ($request->has('userWithProfilePicture')) {
    $users->whereNotNull('profile_image');
}

...

推荐阅读