adelf / acwa_book_ru

Книга "Архитектура сложных веб-приложений. С примерами на Laravel"
1.67k stars 225 forks source link

Выборка по двум полям #24

Closed Romik90 closed 4 years ago

Romik90 commented 4 years ago

Пишу простую аналитику для данных их crm системы. У меня есть 2 сущности: сделка Lead, и менеджер Responsible, который с этой сделкой работает. Для аналитики мне нужно сделать несколько выборок. Одна из них это получение по менеджеру сделок в статусе Оплачено, и в статусе Ожидает оплату image

При этом приходится дублировать код в модели Responsible image Приходится это делать из-за того, что в eager load нельзя использовать алиасы image Вот так к сожалению не работает. Как не дублировать код я так и не нашел способа, может вы что-то подскажете?

И вторая проблема с елоквентом. Структура таблицы leads такая, что связка с ответственным менеджером может быть как по полю responsible_id, так и по полю extra_responsible. Запрос на выборку сделок выглядит так: image Как такой запрос сделать в елоквенте, я не представляю. Да, можно было бы решить через отношение многие-ко многим, но сейчас структуру базы данных я менять не готов. Есть ли какой-то другой выход?

adelf commented 4 years ago

не надо такие запросы делать в элоквенте. надо делать обычные SQL и данные хоть в массивах получать и использовать.