php – 如何在Doctrine 2中为1:1关系指定多个连接条件
发布时间:2020-12-13 17:55:55 所属栏目:PHP教程 来源:网络整理
导读:文件说明: class Cart{ // ... /** * @OneToOne(targetEntity="Customer",inversedBy="cart") * @JoinColumn(name="customer_id",referencedColumnName="id") */ private $customer; // ...} 这个注释代表了这样的sql: JOIN Customer c ON c.id = cart.cus
文件说明:
class Cart { // ... /** * @OneToOne(targetEntity="Customer",inversedBy="cart") * @JoinColumn(name="customer_id",referencedColumnName="id") */ private $customer; // ... } 这个注释代表了这样的sql: JOIN Customer c ON c.id = cart.customer_id 问题是我需要在那里添加额外的比较,例如: JOIN Customer c ON c.id = cart.customer_id AND c.anotherField = <constant> 有什么解决方案吗? UPD: 我现在需要的真正的附加条件是< const>在c.f1和c.f2之间
您可以使用WITH关键字指定其他连接条件,如您在某些
examples中所见.
我认为这应该让你去: SELECT l,c FROM location INNER JOIN Customer c WITH CURRENT_TIMESTAMP() BETWEEN c.f1 AND c.f2 WHERE CURRENT_TIMESTAMP() BETWEEN l.f1 AND l.f2 我删除了ON子句,因为我认为没有必要明确指定连接的ON字段,除非它们不是“标准”字段(每个实体的id) 还要注意对CURRENT_TIMESTAMP()的调用,该调用转换为MySQL的NOW().查看其他非常有用的聚合函数和表达式列表here (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |