【发布时间】:2013-09-13 13:37:32
【问题描述】:
我对使用 ActiveRecords 从我的数据库中“获取”数据的不同方式感到很困惑。对于这个特定问题,我不知道是否应该使用 model->findAll()、criteria(这将允许使用分页)或必要时使用普通 SQL(假设我需要在 GridView 中显示输出)。
我在这里要做的是列出我的“公司”表中的所有公司,以及他们每个人支付了多少钱。付款记录在“交易”表中,该表的“价值”字段表示金额。
所以,如果我必须使用 SQL 查询,它会是这样的:
SELECT *
FROM company
LEFT OUTER JOIN transaction
ON company.id = transaction.company
GROUP BY value
简而言之,实现这一目标的最简单方法是什么? 谢谢。
【问题讨论】:
-
始终建议使用 activerecord 方法查询数据
-
抱歉这个令人困惑的问题,我忘了说我没有用任何方法来实现这一点,所以关于如何使用 ActiveRecord 来解决这个特定问题的一些说明会非常有用
-
你定义了两个模型之间的关系吗?
-
是的,对于公司:'transaction' => array(self::HAS_MANY, 'Transaction', 'company'),对于交易:'company' => array(self::BELONGS_TO, '公司', 'id'),
-
您能解释一下,您尝试过哪些解决方案?您的问题几乎是人们能想到的最简单的关系查询。您不清楚manual 的哪一部分?
标签: php sql activerecord yii