【问题标题】:how to convert simple mysql query to doctrine Query language?如何将简单的 mysql 查询转换为学说查询语言?
【发布时间】:2019-01-28 09:45:28
【问题描述】:

mysql Query 转换为doctrine Query 语言?

我已经完成了 mysql 并在 phpmyadmin 中运行查询,我得到了返回的行:

select ppp.payperiod_sdesc,ppesa.gross_pay,pptpp.esi_employer_contribution,pptpp.pf_employer_contribution,pplw.employerContribution 
from py_process_emp_status_approved AS ppesa 
left join py_process_tds_pf_pt AS pptpp on ppesa.ou_code = pptpp.ou_code 
left join py_pay_group AS ppg on pptpp.pg_code = ppg.pg_code
left join py_process_labour_welfare AS pplw on ppg.pg_code = pplw.pg_code
left join py_pay_period AS ppp on pplw.payperiod_code = ppp.payperiod_code
left join py_payroll_calendar AS ppc on ppp.paycal_code = ppc.paycal_code
WHERE ppesa.ou_code = 15000 
ORDER BY ppesa.ou_code DESC 
LIMIT 0,5

请将 mysql 查询转换为学说查询语言。

【问题讨论】:

标签: php mysql symfony doctrine


【解决方案1】:

您可以在此处的文档中找到更多指导: https://www.doctrine-project.org/projects/doctrine-orm/en/2.6/reference/native-sql.html

查看结果集映射。您也可以只创建一个存储库函数来执行本机 sql,然后调用您的存储库函数。

然后您可以在下面这样调用: 结果 = getDoctrine()->getManager()->getRepository(Your repo)->repofunction();

如果您不确定如何创建/调用存储库函数,它会在 symfony 文档中多次介绍。

Doctrine 加载所有结果然后过滤掉,这是一个昂贵的过程,您最好让 sql 为您完成工作。

希望您拥有获得最终结果所需的一切。

【讨论】:

    猜你喜欢
    • 2015-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-10
    相关资源
    最近更新 更多