2014-12-18 8 views
1

가입 :젠드 SQL 사용하여 문자열 내가 이렇게 가입해야 할 조건

$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); 

을하지만 그것을 실행하려고하면 나는 '절에'알 수없는 열 ' "email을"'말하는 오류가 . 어떻게 작동시킬 수 있습니까?

+0

실제로 문자열이 포함되어 있더라도 결과 쿼리가 완전히 이스케이프 처리되지만 실제로 비슷한 문제가있어서 해결 방법을 기억할 수도 있습니다. 감사. –

답변

1

조인 메소드의 두 번째 인수는 ON 절입니다. 이 ON 절에서 엔티티 간의 관계 만 설정하면됩니다.

이 조건에서 결과를 필터링하고 싶습니다. F.RelatedEntityType = 'email'.

필터링은 WHERE 절에 있어야합니다. 그러면이 조건과 함께 where 절을 추가하십시오.

희망이 도움이됩니다.

모하메드.