【发布时间】:2022-01-03 17:15:07
【问题描述】:
我正在尝试转换此查询:
SELECT
pdd.pedinte_id, pdd.data, pdd.situacao as Situacao, pdd.valor_total, pdd.qtd_etiquetas,
(
SELECT count(pdi.envio_id)
FROM pedinte_item pdi
INNER JOIN envios env ON
pdi.envio_id = env.envio_id
WHERE
pdi.pedinte_id = pdd.pedinte_id AND
env.Situacao = 2
) AS TemErros
FROM pedinte pdd
left join user usr on
usr.user_id = pdd.user_id
WHERE pdd.user_id IS NOT NULL AND pdd.pedinte_id IS NOT NULL;
到 CakePhp:
removed code, maybe very wrong.
没有成功。
我有 4 张桌子:
-
pedinte(pdd) -
pedinte_item(pdi) -
envios(env) -
user(usr)
pedinte > pedinte_item > envios (count)
不敢相信,查询生成器比 mysql 代码更难。
【问题讨论】:
-
建议数据库设计错误。子查询永远都不好。也许解决这个问题?不确定我是否完全理解该查询。也许添加一个字段来存储聚合?如果您不能将其扭曲为 Cake,请使用原始 SQL 和映射器或 MySQL 视图?
-
我做到了,原始 mysql 并重新创建了分页系统。
-
慰问。框架试图让事情变得更容易。但相反,它们只是强迫你学习两种语言并处理每种语言的不完整性。
标签: php mysql cakephp query-builder cakephp-3.x