Tenho um model Lancamento que tem as seguintes consultas que faz uma busca de todos os lançamento de um determinado periodo, so que precisava que ele filtra-se pelo tipo da conta que esta relacionada, se a conta tiver o campo investimento = 1 os lançamentos nao entraria na lista.
Consulta.
$criteria = new CDbCriteria();
$criteria->select = "COALESCE(datapagamento, datavencimento) as datap, SUM(COALESCE(valorpago, valor)) as valorp";
$criteria->alias = "L";
$criteria->compare('COALESCE(datapagamento, datavencimento)','>='.date("Y-m-01").' 00:00:00');
$criteria->compare('COALESCE(datapagamento, datavencimento)','<='.date("Y-m-t").' 23:59:59');
$criteria->compare('status','N',true);
$criteria->compare('tipo','C',true);
$receita = Lancamento::model()->findAll($criteria);
Relaçoes:
public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'categoria' => array(self::BELONGS_TO, 'Categoria', 'categoria_idcategoria'),
'centrocustolucro' => array(self::BELONGS_TO, 'Centrocustolucro', 'centrocustolucro_idcentrocustolucro'),
'fornecedor' => array(self::BELONGS_TO, 'Fornecedor', 'clientefornecedor_idclientefornecedor'),
'cliente' => array(self::BELONGS_TO, 'Cliente', 'clientefornecedor_idclientefornecedor'),
'conta' => array(self::BELONGS_TO, 'Conta', 'conta_idconta'),
'documento' => array(self::BELONGS_TO, 'Documento', 'documento_iddocumento'),
'fechamentocaixa' => array(self::BELONGS_TO, 'Fechamentocaixa', 'fechamentocaixa_idfechamentocaixa'),
'formadepagamento' => array(self::BELONGS_TO, 'Formadepagamento', 'formadepagamento_idformadepagamento'),
'usuario' => array(self::BELONGS_TO, 'Usuario', 'usuario_id'),
);
}
Como eu faço para que no compare() eu busque uma comparaçao com o campo investimento da tabela conta ex:
$criteria->compare(‘conta.investimento’,1,true);
Basicamento uma join
Valew