我有以下代码,这种方式不起作用。
$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'));
我不知道为什么,但是当我手工编写代码时,它起作用了
$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'));
答案 0 :(得分:0)
如果您可以格式化其他代码块,将会很有帮助。 还请发布以下值:
echo $query->__toString();
答案 1 :(得分:0)
之前我没有使用过“joinUsing”函数,可能会尝试这样做:
$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())
->join(array('ct' => 'contrato_tipo'), 'ct.id_contrato_tipo = c.id_contrato_tipo', 'ds_contrato_tipo')
->join(array('f' => 'fornecedor'), 'f.id_fornecedor = c.id_fornecedor', 'razao_social')
->where('c.id_cliente = ?', $id_cliente)
->order(array('c.id_contrato DESC'));
答案 2 :(得分:0)
$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())
->join('contrato_tipo','id_contrato_tipo','ds_contrato_tipo',array())
->join('fornecedor','id_fornecedor', 'razao_social',array())
->where('id_cliente= ?',$id_cliente)
->order(array('id_contrato DESC'));