Я пытаюсь подсчитать количество строк в реляционной таблице many to many
, но всегда возвращает неправильное значение. Когда он равен 1, всегда возвращается 2.Количество строк реляционной таблицы
PS: Все модели и внешние ключи в mysql настроены правильно.
Комментарии Таблица:
id | name
10 Comment Test
Пользователи Таблица:
id | name
20 User Test
Симпатии (Комментарий/Пользователь) Многие ко многим:
user_id | comment_id
20 10
Код:
$criteria = new CDbCriteria;
$criteria->select='*, COUNT(likes.id) AS count_likes'; // I believe the error is in the use of COUNT (likes.id).
$criteria->with=array('likes'=>array('on'=>'user_id=20'));
$model = Comments::model()->findByPk($_GET['id'], $criteria);
// Return Wrong Value
echo $model->count_likes; // Return 2 where should be 1. (I need to use this case)
echo count($model->likes); // Return right value 1.
Вы можете напечатать полный запрос и разместить его здесь? –