首页 > 解决方案 > Laravel Query 获取来自同一国家和城市的用户

问题描述

我正在尝试从用户表中获取用户。我有另一个表user_details存储自定义配置文件字段。user_details表有四列id,user,user_register_field, value

id 用户 user_register_field 值

1 1 性别 男
2 1 个城市 somecity
3 1 个国家 某个国家
4 2 性别 女性
5 2 城市 空
6 2 国 某国
7 3 性别 男

用户.php

public function Udetails()
{
    return $this->hasMany('App\UserDetails','user');
} 

假设用户 id 为 1 的用户已登录,我想向他展示来自用户 1 所在国家和城市的其他用户。

标签: phpmysqllaravellaravel-5.2

解决方案


做这样的事情:

User::whereHas('Udetails',function($q){
    $q->where('user_register_field','country')
        ->where('value',your_logged_users_country);
})->whereHas('Udetails',function($q){
    $q->where('user_register_field','city')
        ->where('value',your_logged_users_city);
})->get();

推荐阅读