использовать или и где в красноречивом - PullRequest
1 голос
/ 03 мая 2020

У меня есть таблица заказов, которая содержит 2 столбца, user_id и unregistered_address. Один из столбцов должен быть пустым, так как пользователь может быть зарегистрирован по адресу или незарегистрирован и имеет только детали адреса.

И user.address, и unregistered_address связаны с городом. (user.address.city & unregistered_address.city)

Я хочу получить заказы для определенных c городов, как для зарегистрированных, так и для незарегистрированных пользователей. Я использую eloquent для whereHas, но кажется, что когда один из двух столбцов пуст, я не получаю результатов. Это мой код:

 $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();

Кто-нибудь может помочь? спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...