根据where关系条件检索所有用户

Retrieve all users based on where condition of relationship

我正在尝试为我的用户构建一个搜索系统。

第一部分很简单,因为我搜索的所有信息都在同一个 table。

第二部分涉及根据提供的 IP 地址搜索用户。为此,我使用:

$users = User::with(array('login' => function($q){
                $q->where('ip_address', Input::get('ipaddress'));
            }))->paginate(10);

然而,这是返回所有用户,而不仅仅是满足 IP 地址要求的用户。我哪里错了?或者有更简单的方法吗?

$users = User::whereHas('login', function ($q) {
    $q -> where('ip_address', Input::get('ipaddress'));
}) -> paginate(10);

试试吧!