Yii关系3表与额外的字段

时间:2012-12-06 13:38:31

标签: php yii

嗨,我是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进行排序。

有没有人尝试过这样的事情,或者有关于如何做到这一点的建议?

1 个答案:

答案 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。

希望有所帮助

相关问题