我正在使用 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...
我怎样才能做到这一点?如果我手动编辑查询并运行它,它会返回我想要的内容,因此语法应该没有问题。