我有一个订单表,其中包含2列,user_id和unregistered_address。列之一必须为空,因为用户可以使用地址注册,也可以不注册,只包含地址详细信息。
user.address和unregistered_address都链接到城市。 (user.address.city和unregistered_address.city)
我想获取特定城市的注册用户和未注册用户的订单。我正在使用雄辩的wherehas,但似乎当两列之一为null时,我没有任何结果。这是我的代码:
$orders = Order::whereHas('user.address', function($query) use ($cityIds){
$query->whereIn('city_id', $cityIds);
})
->whereHas('unregisteredAddress', function ($query) use ($cityIds){
$query->whereIn('city_id', $cityIds);
})-> with(['user.address','unregisteredAddress'])->get();
有人可以帮忙吗?谢谢。