저는 Zend를 처음 접하고 Zend Select 추상화를 사용했습니다. 다른 스키마의 다른 테이블을 조인하는 쿼리를 만들려고 할 때 약간의 문제가 발생했습니다. Zend 2.1 : Db> Sql> Select를 통해 다중 스키마 조인을 할 수 있습니까?
SELECT * FROM `assets`
JOIN `projects`
ON `assets`.project_id = `projects`.id
JOIN `secondSchema`.`users` AS `users`
ON `users`.id = `projects`.user_id
WHERE `projects`.id = ?
AND `users`.id = ?
젠드/DB/SQL/SQL 작업/I가 설치 다음 선택 빌더 할 수있는 선택,하지만 난 다른 스키마를 설정 고민하고 있습니다 :
내가 생산하기 위해 노력하고있어 MySQL의 쿼리입니다 결과는 SQL 문 : 다음 교체 스키마하지만 어댑터의 원래 스키마를 설정 \ 젠드 \ DB \ SQL을 \ TableIdentifier를 사용하여 시도
$select = $this->_sqlBuilder->select();
$select->from('assets');
$select->join(
'projects',
'projects.id = assets.project_id'
);
$select->join(
'users',
'users.id = projects.user_id'
);
$select->where->equalTo('assets.project_id', $projectID);
$select->where->equalTo('users.id', $userId);
은, 모두가 할 수있는 방법처럼이 보이지 않는다 스키마에 있습니다.
Sql/Select를 사용하여이 작업을 수행 할 수 있습니까? 아니면 Zend Db에서 잘못된 방식으로 진행할 예정입니까? 이 슬프게 DB \ 선택을 사용하여 실제로 가능하지 않다처럼 도움
실제로 무슨 일이 일어나고 있습니까? 어떤 오류? – Andrew
반환되는 오류는 'Statement was sql'을 생성 할 수 없습니다. 오류가 발생한 SQL을 확인하면 사용자 테이블이 다른 스키마에 있다는 문제입니다. 그래서 내 문제는 두 번째 조인 내에서 추가 스키마를 추가해야한다는 것입니다. 이 희망은 원시 SQL – tomo661
에 의지하지 않고도 가능합니다.이 질문과 유사하게 보입니다 -> http://stackoverflow.com/questions/15830774/zf2-make-a-join-between-two-different-databases 가능한 답변 이외의 답변은 원시 SQL은 가야하는 길을 제안합니다 – Crisp