私は Zend の初心者で、Zend Select の抽象化に取り組んでいます。別のスキーマの別のテーブルを結合するクエリを作成しようとすると、少し問題が発生しました。
私が作成しようとしている 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/Select を使用して、次の選択ビルダーをセットアップできますが、結果の 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でこれを間違った方法で行っていますか?
助けてくれてありがとう