Есть 2 связанные таблицы, products и product_models. В первой 3 записи, во второй 4.
Результатом кода ниже, почему-то, является количество записей из таблицы product_models, т.е. - 4.
А мне нужно чтобы count() cчитал только количество из таблицы products - 3 записи.
1. $cat = [1, 2, 3, 15];
2. $query = Products::find()->select('*');
3. $query->innerJoinWith(['productModels']);
4. if ($cat) $query->where(['in', 'product_models.category_id', $cat]);
5. return $query->count();
Если поменять innerJoinWith на with, то работает корректно, но строка №4 выдает ошибку (получается что он ищет в таблице products столбец product_models.category_id);
Что можно сделать???
Сразу скажу что count($query) не прокатит (в связи с дальнейшими вычислениями)