Мой запрос выглядит так
select * from `user_profile_details` where (`user_id` = 2 and `address_type` = 'billing') or (`user_id` = 2 and `address_type` = 'residence')
и результат этого запроса всегда возвращает последное условие
вот сам код
$checkoutUserDetails = UserProfileDetail::where([
['user_id', $user->id],
['address_type', 'billing']
])->orWhere([
['user_id', $user->id],
['address_type', 'residence']
])->get();
$checkoutUserDetails['order_data'] = $orderData;
$checkoutUserDetails = UserProfileDetail::where('user_id', $user->id)
->where(function($query){
$query->where('address_type', 'billing')
->orWhere('address_type', 'residence');
})
->get();
Данный запрос будет выглядеть так:
select * from `user_profile_details` where `user_id` = 2 and (`address_type` = 'billing' or `address_type` = 'residence')
Если вам нужно прям как в вопросе, то делайте так:
$checkoutUserDetails = UserProfileDetail::where(function($query) use ($user){
$query->where('user_id', $user->id)
->where('address_type', 'billing');
})->orWhere(function($query) use ($user){
$query->where('user_id', $user->id)
->where('address_type', 'residence');
})
->get();
На mysql можно так. COALESCE возьмет первое не null значение
SELECT user_id, COALESCE(b,r)
FROM (
(select user_id, val b, null r
from your_table
where user_id = 2 and address_type = 'billing')
union
(select user_id, null b, val r
from your_table
where user_id =2 and address_type='residence')) t
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Создал файл резервной копии mydb1 с помощью команды mysqldump:
Вот код страницы вывода новости, но почему-то в сетке съезжает блоки
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском