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


Retrieve all users based on where condition of relationship

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

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

第二部分涉及根据提供的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);

试一试!