文件说明:
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
原文地址:https://www.jb51.cc/php/134017.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。