当前位置: 首页 > 知识库问答 >
问题:

以Elecoquent中的过滤地址获取客户集合

苍轶
2023-03-14

我有两个模型:

   customers(id,firstname,lastname,phone)
   addresses(id,province_id,address,customer_id)

与关系:

 class Customer extends Model
 {

     public function addresses()
     {
         return $this->hasMany(Address::class);
     }
 }


 public function customer()
     {
         return $this->belongsTo(Customer::class,'customer_id');
     }

我正在尝试获得地址在某个城市的客户

  return new CustomerCollection(Customer::has('addresses')
                       ->with(array('addresses' => function($q) use ($field)
                        {
                          $q->where('province_id','like',$field)->get();

                        }))->orderBy('id','DESC')->paginate(100));

结果几乎是好的,我获得所有客户的集合(坏的),当我只需要客户的地址在省给定,但地址数组只包含数据的地址在省给定。

怎么了?怎样才能从结果中删除省内无地址的客户?

共有1个答案

赏星河
2023-03-14

如果您不在查询中提供province_id,那么它将转义该条件并获得所有具有该地址的customer;如果您提供province_id,您将获得居住在Provind_ID中的唯一customer

Customer::query()->when($province_id,function($query){
            $query->whereHas('addresses', function($query) use($province_id){
                $query->where('province_id', $province_id);
            }); 
        })
        ->with('addresses')
        ->get();
 类似资料:
  • get_client_ip($type = 0, $adv = false) 功能 获取客户端IP地址 参数 $type: string 返回类型 0 返回IP地址 1 返回IPV4地址数字 $adv: boolean 是否进行高级模式获取(有可能被伪装) 返回 string 客户端IP地址

  • get_client_ip($type = 0, $adv = false) 功能 获取客户端IP地址 参数 $type: string 返回类型 0 返回IP地址 1 返回IPV4地址数字 $adv: boolean 是否进行高级模式获取(有可能被伪装) 返回 string 客户端IP地址

  • 问题内容: 在Node.js服务器中使用socket.IO时,是否有一种简单的方法来获取传入连接的IP地址?我知道您可以从标准的HTTP连接中获得它,但是socket.io有点不同。 问题答案: 好的,从0.7.7版本开始可用,但是不像lubar所描述的那样。我最终需要通过git hub上的一些提交日志来解析该问题,但是下面的代码现在确实对我有用:

  • 问题内容: 有没有办法在Node.js上找到客户端的mac地址?我一直在搜索它,但是我发现了node- sigar项目,但是它没有用,因为它引发了“找不到模块./build/Release/sigar”错误。 问题答案: 除非您的代码与客户端在同一LAN段上运行,否则您将无法获取客户端的MAC地址。您可能需要使用命令行工具或本机支持才能获得本地LAN网段上的地址。 对于nodejs:https :

  • 问题内容: 我正在使用JAX-WS,但是在检索消耗Web服务的客户端信息时遇到问题。我已经找到了如何使用JAX-RPC和Apache Tomcat Axis(而不是JAX-WS)来做到这一点。有人对此有想法吗? 问题答案: 那这个呢:

  • 问题内容: 我想获取使用我网站的客户IP地址。我正在使用PHP superglobal: 但是我看到它不能使用此提供正确的IP地址。我得到了我的IP地址,发现它与我的IP地址不同,并且我还可以在某些网站上看到我的IP地址,例如: 我粘贴了提供PHP功能的IP地址,但是此网站未显示任何结果。这个问题是怎么发生的,如何获得客户端的IP地址? 问题答案: 获取访问者/客户的IP地址的最简单方法是使用或变