- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的下面的代码在 phpMyAdmin 上可以正常工作:
select testers.department from testers
inner join request_details
on testers.id = request_details.test_id
where request_details.request_id = '12345'
我尝试将其转换为 DQL
,如下所示:
$query = Doctrine_Query::create()
->select('t.department')
->from('testers t, request_details r')
->innerJoin('t.id r')
->where('t.id = r.tester_id')
->andWhere('r.request_id = ?', 12345);
但是,保存查询结果的变量上的 var_dump()
返回 NULL
。
最佳答案
您使用的是哪个 Doctrine 版本,因为在 Doctrine2 中您应该使用 QueryBuilder 类,并且应该使用类名和属性,而不是 DQL 中的表名和字段。因此,您应该连接到类字段名称,而不是表字段名称。
innerJoin('t.request_details', 'r') // where request_details is a propery on Tester
此外,您不需要连接它们的位置 (where(t.id = r.tester_id)),这是由 Doctrine 管理的,并且只要实体正确映射即可工作。
您也不需要 from 部分中的 request_details r,Doctrine 也会处理这个问题。
此外,在 from 中使用类名称,而不是表名称。
编辑(忘记了 getResults() 之前的 getQuery()):最后你的查询看起来像这样:
$queryBuilder = EntityManager::create(//em options)->createQueryBuilder();
$queryBuilder->select('t.department')
->from('Tester', 't')
->innerJoin('t.request_details', 'r') // request details is a propery on Tester, that maps to RequestDetails
->where('r.request_id = ?1')
->setParameter(1, 123);
Doctrine 会负责将其转换为 SQL 并加入该事物。最后你还需要获取这些东西:
$departments = $queryBuilder->getQuery()->getResult();
编辑:对于原则 1,类似这样的事情应该有效:
$q = Doctrine_Query::create()
->select('t.department')
->from('Tester t')
->innerJoin('t.request_details r') // request details is a propery on Tester, that maps to RequestDetails
->where('r.request_id = ?', 123);
$depts = $q->fetchArray();
我不太熟悉原则 1,所以请查看以下内容以获取更多信息: http://docs.doctrine-project.org/projects/doctrine1/en/latest/en/manual/dql-doctrine-query-language.html
关于mysql - DQL innerJoin 查询等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12156221/
我是 PHP 的新手,我正在尝试创建一个具有内部连接功能的数据库类,但我收到了这个错误: Call to a member function InnerJoin() on a non-object i
很高兴找到这样一个有用的网站,里面有天才成员(member)。一段时间以来,我一直在尝试寻找解决此 SQLITE 问题的方法。谷歌没有帮助我,除了找到这个网站。 SQL 查询在同一数据库的 MSAcc
我正在为我的应用程序使用symfony2。对于查询我正在使用这个: $contents = $em->getRepository('BbdBongoAppBundle:Content')
我的下面的代码在 phpMyAdmin 上可以正常工作: select testers.department from testers inner join request_details on te
您好,我正在尝试让这个特定代码用于类别页面。不确定如何安排。 $cat = $_GET['cat']; } $record_count = $db->query("SELECT * F
我有两个音频文件,想在python3中将文件相互比较。 这是在x轴上具有频率的两个音频文件的示例: Audio A Audio B 您知道创建仅包含重叠频率的新音频文件的好方法吗? (与MySQL中的
此链接的 SQL 解决方案非常有趣.. Date difference between two records in same table 谁能帮我为同一个查询构造 Querydsl ..?? JPQ
这两个查询有什么不同吗? 查询 1: SELECT * FROM Table1, Table2 WHERE Table1.Id = Table2.RefId 查询 2: SELECT * FROM T
我有 3 个表,分别名为 Class、Person 和 PersonTalent。 1.人员有人员 ID 和姓名。 2.Class 有人员列表,每个人都有如上所述的 id。 3.PersonTalen
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
在为公司开发系统时,我遇到了一个两难的境地,而项目管理不在其中! SELECT clients_owner.Name, clients_owner.`number`, clients_shops.Sh
我有一个显示错误的问题。 我正在尝试执行查询,但它不会影响我的结果在 MySQL 中。 我做错了什么? SELECT dominio.id as dominio_id,palavras.id AS p
我有以下与用户和地址相关联的模型: User - id - email - password Address - id - street - zip_code - city - use
我有一个规范化的数据库,外键/主键为一对多的数据库。 我计划使用 PHP 访问此数据库以进行基本的前端/后端显示。现在,我的问题来自这两个示例查询: CREATE VIEW `view` AS S
我做了这个选择语句来查找我想删除的重复行。我虽然只是将 SELECT 更改为 DELETE 并且它会删除行,但它没有。 这是选择语句: select * FROM MYCARD T1 INNER JO
我有 2 个要合并的 sql 字符串: 第一个表有一个产品的所有数据 第二个表(inner join)包含具有团体价格的产品的所有数据。 但我得到不同的结果 测试搜索“sku” SELECT sku
我目前正在尝试从用户有权访问的 mysql 数据库接收应用程序: 我的问题: 我收到以下错误,这可能是什么原因造成的? [Sun Oct 08 13:08:41.194245 2017] [proxy
来自这样的表单 PHP HTML CSS 表格: [ POSTS ]
在目录中,我有产品和文章。文章是产品的变体。在目录中,产品按类别排序,同一种产品可以在目录中出现一次或多次。 我想要获取目录中的文章,但我的文章并未直接分配到目录,只有产品会直接分配到目录。 我想使用
我正在尝试使用 Doctrine2/QueryBuilder 构建一个 innerJoin 查询。 $repo = $this->getDoctrine() ->getReposit
我是一名优秀的程序员,十分优秀!