Zend SQL在连接条件中使用字符串

时间:2014-12-18 09:22:55

标签: zend-framework2 zend-db-select

我希望有这样的联接:

$sql = new Sql($this->adapter);
$select = $sql->select();
$select->from(array('E' => 'Emails'));
$emailField = 
$select->join(array('F' => 'EntityFiles'), "F.RelatedEntityId = E.EmailId AND F.RelatedEntityType = 'email'", array('FileName' => 'Name'), $select::JOIN_LEFT);

但是当我尝试运行它时,我在“on子句”中收到错误消息“未知列”“email”。 我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:1)

join方法的第二个参数是ON子句。 因此,您必须在此ON子句中仅设置实体之间的关系

您希望在此条件下过滤结果F.RelatedEntityType ='email'。

过滤必须在WHERE子句中。 所以只需添加一个具有此条件的where子句。

希望这有帮助。

穆罕默德。