Задать вопрос
vitaly_74
@vitaly_74

Как привести sql выражение к читаемому виду в билдере Yii2?

У меня есть следующий код. Это запрос в бд, чтобы посчитать разницу товара который остался на складе и товара который "забронирован"
$equipmentTable = TableEquipments::tableName();
        $bookingTable = TableBooking::tableName();
        $avaliableEquipmentCount = $this->query
            ->select($equipmentTable . '.count - sum(' . $bookingTable . '.count) as count')
            ->from($equipmentTable)
            ->leftJoin(
                $bookingTable,
                $equipmentTable . '.id = ' . $bookingTable . '.equipment_id',
            )
            ->where([
                    $equipmentTable .'.id' => $fields['equipmentId']
                ])
            ->one();

Вопрос, как омжно сделать более читабильное выражение?
пробовал через параметры, например
->where([
                    ':equipmentTable.id' => $fields['equipmentId']
                ],
                [
                   ':equipmentTable' => $equipmentTable 
                ]
)

но что то не работает.
мне в итоге нужно получить просто разницу.
  • Вопрос задан
  • 48 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@PiloTeZ
...
Или как у вас написано, или внедрить алиасы для названий таблиц
Ответ написан
Комментировать
@pantsarny
Напишите чистый sql или activequery или alias для имен таблиц
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы