0

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

有没有人尝试过这样的事情或对如何做到这一点有任何建议?

4

1 回答 1

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。

希望有帮助

于 2012-12-06T16:37:52.820 回答