У меня возник вопрос к подсчету отношений и столбцов при использовании group_by. Проще говоря, у меня есть таблица под названием стратегии . Каждая стратегия имеет много сделок . Каждая сделка имеет поля:
И я использую код ниже, чтобы получить данную стратегию и все сделки, назначенные ей:
$strategy = Strategy::with('trades', 'trades.pair')->where('id', $id)->first();
И отобразить его как сгруппированный элемент:
И результат:
Проблема в том, что я использую first () для доступа к id_pair и отображения имени по отношению , то же самое с таймфреймом, потому что переменная $ пара является сгруппированным элементом . Затем есть поле trade_type, которое имеет значение 0 или 1, и мне нужно считать их отдельно (0 - это короткая сделка, 1 - длинная сделка); позже появляются поля tp1, tp2, sl также со значениями 0/1, которые требуют подсчета.
Вопрос в том, можно ли избежать использования first () и подсчитать их аккуратно, используя eloquent? Я почти уверен, что у raw sql будет какое-то решение для этого, но я спрашиваю, есть ли какой-нибудь laravel способ сделать это?