У меня есть существующая модель laravel со многими условиями, привязанными к ней. т.е. ГДЕ username='john' И (updated_at > "2017-01-01" ИЛИ... ) И...
Я не знаю, сколько было предыдущих запросов, и у меня нет к ним доступа. У меня есть доступ к экземпляру модели только после того, как он получил некоторые условия.
то есть у меня есть функция, которая получает модель в качестве параметра, и я хочу добавить условие ИЛИ к уже существующему wheres
function notDeleted($model) {
// model has already a bunch of where/or where conditions at this point
// i want return rows, that match either all the previous conditions
// OR this new condition that i add inside this function.
}
Я хотел бы добавить условие ИЛИ следующим образом.
Select * from users WHERE ( (query1 AND query2 AND ...) OR deleted_at IS NULL);
если вы просто используете ->orWhere, то запрос будет
select * from users where query1 AND query2 AND ... OR deleted_at is null
Примечание: имена таблиц, столбцов и т. д. созданы для сообщения SO, мой реальный вариант использования немного сложнее.