我正在尝试在多对多表中创建搜索条件,但我遇到了问题。我想使用 Posts 模型进行搜索,并在 likes(many to many) 表中按用户 ID 进行过滤。
表格:帖子、用户和喜欢(多对多)
模型 Post.php 关系:
'user_likes' => array(self::MANY_MANY, 'Users', 'likes(post_id, user_id)'),
后控制器中的搜索条件:
$criteria->with='user_likes';
$criteria->condition='user_likes.id=1'; //Search posts that user id '1' liked.
$posts=Posts::model()->findAll($criteria);
错误:
CDbCommand falhou ao executar o comando SQL: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'user_likes.id' in 'where clause'.