嗨,我是yii开发的新手。我有3张桌子。表A,AB,B其中A是一个表,AB是包含表A和B的FK的中间表,B是另一个表。 我的模型中有关系函数。
/**
* @return array relational rules.
*/
public function relations()
{
return array(
"AB"=>array(self::MANY_MANY,"AB(my model)","AB(A_id,B_id)"),
);
}
这样做很好,但是现在我想在表AB中放置一个订单字段,它将用作名为ord的订购字段,以便以我预定义的方式对AB进行排序。
有没有人尝试过这样的事情,或者有关于如何做到这一点的建议?
答案 0 :(得分:0)
对不起,我误解了你的问题。最简单的方法是使用CDbCriteria(http://www.yiiframework.com/doc/api/1.1/CDbCriteria),您可以使用它创建复杂的SQL查询。
我不知道具体情况,但您的解决方案将类似于
$criteria = new CDbCriteria();
$criteria->select = "x";
$criteria->alias = "tableA"; // creates a "...From table_A AS tableA..."
$criteria->join = "LEFT JOIN A_B AS tableAB ON tableA.A=tableAB.A";
$models = YourModel::model()->findAll($criteria);
网络上充满了这样的东西,只需google mysql join或yii join。
希望有所帮助