我對Zend很新,並且與Zend Select抽象一起去了。當嘗試創建一個查詢從另一個模式中加入另一個表時,我遇到了一些問題。Zend 2.1:是否有可能通過Db> Sql>選擇多模式連接
MySQL查詢我想製作的是:
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 = ?
與Zend/DB/SQL/SQL的工作/選擇我可以設置以下選擇建設者,但我在設置另一個模式掙扎產生的SQL語句:
$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);
我一直在使用\ Zend的\ DB \ SQL \ TableIdentifier設置的模式,但在適配器的原始模式,然後更換審理,但看起來並不像一個辦法兼得查詢中存在的模式。
是否有無論如何使用Sql/Select來做到這一點,或者我會用Zend Db去錯誤的方式嗎?
感謝您的幫助
究竟發生了什麼呢?任何錯誤? – Andrew
返回的錯誤是'語句無法用sql生成',檢查返回的錯誤的問題是用戶表位於不同的模式上。所以我的問題是我需要在第二次連接中添加額外的模式。希望這可能不訴諸原始的SQL – tomo661
看起來是類似於這個問題 - > http://stackoverflow.com/questions/15830774/zf2-make-a-join-between-two-different-databases和缺乏回答以外的不可能的建議原始的SQL是要走的路 – Crisp