簡體   English   中英

有關模型的STAT關系的STAT關系Yii

[英]STAT Relation on a related model's STAT relation, Yii

我在Yii中的STAT關系有問題。 我不確定我所尋找的與當地Yii關系是否可行。 我會盡力描述我的問題,如果不清楚,請詢問任何具體細節。

我有三個桌子,所以有三個模型

| tablea         |
| tableb         |
| tablec         |


mysql> select * from tablea;
+----+--------+
| id | name   |
+----+--------+
|  1 | Item 1 |
|  2 | Item 2 |
+----+--------+
2 rows in set (0.00 sec)

mysql> select * from tableb;
+----+------+----------+
| id | Aid  | name     |
+----+------+----------+
|  1 |    1 | B Item 1 |
|  2 |    2 | B Item 2 |
|  3 |    1 | B Item 3 |
+----+------+----------+
3 rows in set (0.00 sec)

mysql> select * from tablec;
+----+------+----------+-------+
| id | Bid  | name     | value |
+----+------+----------+-------+
|  1 |    1 | C Item 1 |    10 |
|  2 |    2 | C Item 2 |    20 |
|  3 |    1 | C Item 3 |    15 |
|  4 |    2 | C Item 4 |     5 |
|  5 |    3 | C Item 5 |    12 |
+----+------+----------+-------+
5 rows in set (0.00 sec)

關系類似於TableA HAS_MANY TableB和TableB HAS_MANY TableC。

我在TableC中有一個值字段。 我能夠從TableB中獲得STAT關系的總和。 我想要的是TableA中所有TableC項目的總和。 我需要在具有排序功能的GridView中使用它們。

關於如何實現這一點的任何想法?

謝謝

您可以嘗試將第三個表TableATableA模型中的關系上,如下所示:

public function relations()
{
    return array(
        ...
        'TableCCount' => array(self::STAT, 'TableB', 'Aid', 'join'=>'INNER JOIN `tablec` `tc` ON `tc`.`Bid` = `t`.`id`'),
        ...
    );
}

未經測試,因此可能需要一些編輯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM