Zend DB を使用して、次のコードを使用してクエリを生成しています。
$table->select()
->setIntegrityCheck(false) //required for multi-table join
->from('modules')
->joinInner(
'basket_modules',
'modules.id = basket_modules.id')
->joinInner(
'baskets',
'baskets.id = basket_modules.basket_id')
->where('baskets.id = ?', $this->id);
これにより、次の SQL が生成されます。
SELECT modules.*, basket_modules.*, baskets.*
FROM modules
INNER JOIN basket_modules ON modules.id = basket_modules.id
INNER JOIN baskets ON baskets.id = basket_modules.basket_id
WHERE (baskets.id = '3')
ここで私の問題は SELECT 部分にあります。モジュールだけではなく、3 つのテーブルすべてを選択しています。これが私が望むものです。したがって、生成したいクエリは次のとおりです。
SELECT `modules`.*
FROM `modules`
#etc...
これどうやってするの?クエリを手動で編集して実行すると、必要なものが返されるため、構文に問題はありません。