【发布时间】:2018-02-25 16:34:39
【问题描述】:
如何在 Yii2 中使用查询生成器更新字段?
要求是表 B 表 A 中的每一笔交易都会自动更新 value 字段:actual and available
表A
- 身份证
- 预算
- 实际//从表b查询金额
- 可用 // 价值 =(预算 - 实际)
表 B
- 身份证
- 金额
- tableA_id
表关系
这里是sql查询
SELECT
DISTINCT(A.id) AS tableA,
A.budget AS budget,
SUM(B.amount) AS actual,
budget - SUM(B.amount) AS Available
FROM
tableA AS A
LEFT JOIN
TableB AS B
ON
A.id = B.TableA_id
Group By
tableA
结果
我正在努力向https://github.com/yiisoft/yii2/blob/master/docs/guide/db-dao.md#basic-sql-queries学习
但我不知道如何将 SQL 应用于 Yii2 中的查询构建器以及如何编码或将代码放在模型或控制器中的什么位置。
【问题讨论】:
-
您的 sql 代码似乎有一些问题.. 1) 为什么 distinct 和 groyp by??如果你使用 group by 你不需要 distinct ..
-
2) 为什么您有一个未在 group by 中提及的非聚合列? .. 这在 sql 中已弃用,并且在更新版本的数据库中不允许使用,例如:mysql 5.7
-
3 ) 您不能在选择其他列名称或计算(预算)中使用列名称的别名
-
what do you want to do you want to
updaterecords or you want toselect,你的问题标题是关于update并且你已经添加了select查询被转换为@ 987654331@语法? -
我很抱歉造成混乱。我的注意力是
update值,先生
标签: mysql activerecord yii2 query-builder insert-update