Symfony2 Doctrine query(Symfony2 教义查询)
问题描述
我是 symfony2 的新手,我不知道如何使用 createQuery() 在 symfony2 中编写以下查询
I'm new in symfony2 , I don't know how to write a below query in symfony2 using createQuery()
select * from Post inner join Category on Post.category_id=Category.id inner join Priority on Post.priority_id=Priority.id order by priority_number desc
我使用了存储库类,在其中编写了一个函数
I used repository class,in which ,wrote a function
public function findAllOrderedByPriorityPost()
{
return $this->getEntityManager()
->createQuery('select p,c,pr from RodasysfourmBundle:Post p inner join
RodasysfourmBundle:Category c inner join RodasysfourmBundle:Priority pr order by pr.priorityNumber desc')
->getResult();
}
当我使用此功能时,出现以下错误
when I used this function,I got the below error
[Semantical Error] line 0, col 85 near 'c inner join': Error: Identification Variable RodasysfourmBundle:Category used in join path expression but was not defined before.
另外,在自定义存储库中或作为服务使用此查询时,哪种方法最好?
Also which method is best using this query in a custom repository or as a service?
任何帮助表示赞赏.
推荐答案
如果您指定了引用实体的名称,doctrine2 中的 DQL 将不知道如何连接表.您只能使用一个实体及其字段(可能有关系).
DQL in doctrine2 won't know how to join tables if you specify the name of a referenced entity. You can only work with one entity and its fields (which may have relations).
select p,c,pr from RodasysfourmBundle:Post p inner join
p.Category c inner join c.Priority pr order by pr.priorityNumber desc
这篇关于Symfony2 教义查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Symfony2 教义查询
- SoapClient 设置自定义 HTTP Header 2021-01-01
- 正确分离 PHP 中的逻辑/样式 2021-01-01
- 带有通配符的 Laravel 验证器 2021-01-01
- Oracle 即时客户端 DYLD_LIBRARY_PATH 错误 2022-01-01
- Mod使用GET变量将子域重写为PHP 2021-01-01
- PHP Count 布尔数组中真值的数量 2021-01-01
- Laravel 仓库 2022-01-01
- 从 PHP 中的输入表单获取日期 2022-01-01
- 如何定位 php.ini 文件 (xampp) 2022-01-01
- 没有作曲家的 PSR4 自动加载 2022-01-01