sql - Doctrine DQL WHERE(条件 1 和条件 2)或(条件 3 和条件 4)
问题描述
我正在尝试在以下方面做类似的SQL
事情DQL
:
SELECT * FROM TBL
WHERE (something = foo AND something2 = foo2)
OR (something3 = foo3 AND something4 = foo4)
我得到了这似乎可行,但我对此表示严重怀疑;你怎么看 ?
->where('something = :foo')
->setParameter('foo', $fooValue)
->andWhere('something2 = :foo2')
->setParameter('foo2', $fooValue2)
->orWhere('something3 = :foo3')
->setParameter('foo3', $fooValue3)
->andWhere('something4 = :foo4')
->setParameter('foo4', $fooValue4)
->getQuery()
->getArrayResult()
解决方案
你可以使用$em->createQuery
方法
$query = $em->createQuery('SELECT t FROM Tbl t WHERE (t.something = :foo AND t.something2 = :foo2) OR (t.something3 = :foo3 AND t.something4 = :foo4)');
$query->setParameter(...);
$result = $query->getResult();
推荐阅读
- avr - XMega E5 设备的 ImageCraft iFlash 问题
- javascript - 什么是身份验证中的回调 uri (Auth0)
- c++ - Message id's in the main application loop
- javascript - 如何在项目之间的 React Flatlist 中呈现 AdMob 横幅?
- javascript - Vue.js,如何通过 ID 滚动到锚点而不导航到路由
- python - numpy 选择具有特定移动窗口的成员
- group-by - F# Linq Sql 查询中的运行时类型错误,多列分组
- excel - 根据另一个单元格的值更改excel单元格的公式
- python - Django - 如何在多个页面中访问 python 全局变量?
- mongodb - 我应该在这里使用复合索引吗?