jer*_*ere 5 mysql boolean doctrine-orm
我想做这样的事情(sql 与伪代码的混合):
在此示例中,我们假设有一个单独的电话号码表:
人: person_id、person_name、person_lastName
电话号码: phonenmb_id、phonenmb_number、phonenmb_person_id
SELECT p.name, p.lastName, hasPhoneNumber = hasPhoneNumber(someNumber)
在这个例子中,我想从一个人那里获取一些数据,并给定一个特定的电话号码,如果这个人的号码列表中有该号码,则返回 TRUE,如果没有,则返回 FALSE。
如果有人可以提供有关如何直接使用 Doctrine 和 DQL 执行此操作的提示,那就太棒了,否则我将自己将其翻译为 DQL。
一种方法是使用 person_id 和电话号码外连接到电话号码表,然后检查外连接是否满足以计算布尔值。
使用您的架构的示例:
SELECT p.person_name, p.person_lastName,
(pn.phonenmb_id IS NOT NULL) as hasPhoneNumber
FROM person p
LEFT OUTER JOIN phone_number pn on pn.phonenmb_person_id = p.person_id
and pn.phonenmb_number = someNumber
GROUP BY p.person_name, p.person_lastName
Run Code Online (Sandbox Code Playgroud)