0

大家好,感谢阅读

我有两张桌子;第一张桌子是主桌子,我有费用,

第二张表是一张表,我将用户与这些费用相关联。

我想知道是否有人可以指出我实现以下目标的正确方向;创建一个返回特定用户所有成本总和的 yii STAT 查询。这就是我在 mysql 中所做的,我想将其转换为 yii 格式;

    select sum(cost) from tbl_bridge_contract a
join tbl_employer_contract b using(id_employer_contract)
where a.user_id=4
4

1 回答 1

1

不确定您的数据库架构是什么样的。但是假设我们有两个模型(数据库中的表)-PostComment.

CommentPosttbl_comment有外键指tbl_post的是主键)。这意味着PostHAS_MANY Comment。据此,您的Post::relations方法可能如下所示:

/**
 * @return array
 */
public function relations()
{
    return array(
        'comments' => array(self::HAS_MANY, 'Comment', 'post_id'), // <-- post_id is FK in tbl_comment
        'countComments' => array(self::STAT, 'Comment', 'post_id'), // <-- the same as above, post_id is FK in tbl_comment
    );
}

然后在任何地方(比如在控制器中)你可以这样做:

$post=Post::model()->findByPk(731);

var_dump($post->comments); // <-- dumps array of Comment-models, if any
var_dump($post->countComments); // <-- dumps number of related comments

当然,您应该阅读此http://www.yiiframework.com/doc/guide/1.1/en/database.arr#statistical-query

我希望这有帮助。

于 2013-06-07T08:07:43.463 回答