关联查询用的很别扭,不知道问题在哪里?

例如 A B两个model,A 的relation

'as'=>array(self::MANY_MANY,'B','_a_b_l(a_id, b_id)'),

当我要查询A,条件:as关联的B的id=x值。我本以为 A::model()->with(array('as'=>array('id'=>'x')))->findAll() 这样应该可以查询出来,结果with不起作用。

Yii的关联查询是怎样用relation限定条件的?是否碰到关联查询的情况下,还是的用原始sql语句查询?还是我没有掌握yii的关联查询(也就是面向对象查询)?

在with()后加上->together()。

没有together()的话,碰到HAS_MANY或MANY_MANY,Yii缺省会分成若干个SQL来执行。

我用的together,但敲帖子的时候漏了。

现在发现我给with,临时增加条件 array('id'=>'x') 和不增加条件,生成的sql都是一样!!

你的条件array('id'=>'x')是啥意思?

id是B的id,当B的id=x的时候,取A的查询列表。

没有这种查询条件的指定方法啊。应该是array('condition'=>'id=x')