我有以下代码,这样它不起作用。
$query = $this->select()
->from(array('c' => 'contrato'),
array('*'))
->setIntegrityCheck(false)
->join(array('ch' => 'contrato_host'),'ch.id_host = '.$id_host.' and ch.id_contrato = c.id_contrato', array())
->joinUsing('contrato_tipo', 'id_contrato_tipo', 'ds_contrato_tipo')
->joinUsing('fornecedor', 'id_fornecedor', 'razao_social')
->where('id_cliente = ?', $id_cliente)
->order(array('id_contrato DESC'));
但是当我使用它时我不知道为什么,但是当我手动编写代码时它可以工作
$query = $this->select()
->from(array('c' => 'contrato'),
array('*'))
<br/>->setIntegrityCheck(false)
<br/>->join(array('ch' => 'contrato_host'),'ch.id_host = '.$id_host.' and ch.id_contrato = c.id_contrato', array())
<br/>->where('id_cliente = ?', $id_cliente)
<br/>->order(array('id_contrato DESC'));
SELECT
contrato.*, contrato_tipo.ds_contrato_tipo, fornecedor.razao_social
FROM [action].[dbo].[contrato]
INNER JOIN [action].[dbo].[contrato_host] ON [contrato_host].id_host = 14 and [contrato_host].id_contrato = [contrato].id_contrato
INNER JOIN [action].[dbo].[contrato_tipo] ON contrato_tipo.id_contrato_tipo = contrato.id_contrato_tipo
INNER JOIN [action].[dbo].fornecedor ON fornecedor.id_fornecedor = contrato.id_fornecedor
WHERE ([contrato].id_cliente = '1') ORDER BY "id_contrato" DESC