Saudações a todos,
Consigo obter o resultado esperado em banco através do comando.
SELECT `t`.`id` , `t`.`usuario` , `t`.`email` , `t`.`data_ultima_entrada` , `t`.`situacao` , `t`.`ip_ultima_entrada` , `t2`.`situacao` , `t`.`sexo`
FROM `usuario` `t`
LEFT JOIN evento_usuario t2 ON t2.usuario_id = t.id
WHERE t2.evento_id =1
LIMIT 5
porém ao transpassar isso para CActiveDataProvider o valor da coluna situacao da tabela de relacionamento many many não é obtido.
Pode me indicar como posso fazer para trazer esta informação. Se possível com uma breve explicação?
Segue o código:
$UsuariosDataProvider = new CActiveDataProvider('Usuario', array(
'criteria' => array(
'condition' => 't2.evento_id =' . $id,
'join' => 'LEFT OUTER JOIN evento_usuario t2 ON t2.usuario_id = t.id '),
'select'=>"`t`.`id` , `t`.`usuario` , `t`.`email` , `t`.`data_ultima_entrada` , `t`.`situacao` , `t`.`ip_ultima_entrada` , `t2`.`situacao` , `t`.`sexo`",
'pagination' => array(
'pageSize' => 5,
),
Page 1 of 1
Transpor Comando Sql Para Cactivedataprovider CActiveDataProvider
#2
Posted 16 January 2013 - 09:40 AM
Alessandro,
No seu model Usuario, não existe nenhuma relação na função relations() ?
Podemos criar uma relação no seu model Usuario para a tabela evento_usuario, assim você pode usar essa relação mais fácil para suas consultas.
No seu model Usuario, não existe nenhuma relação na função relations() ?
Podemos criar uma relação no seu model Usuario para a tabela evento_usuario, assim você pode usar essa relação mais fácil para suas consultas.
Newerton Vargas de Araújo
#3
Posted 16 January 2013 - 11:15 AM
Newerton, on 16 January 2013 - 09:40 AM, said:
Alessandro,
No seu model Usuario, não existe nenhuma relação na função relations() ?
Podemos criar uma relação no seu model Usuario para a tabela evento_usuario, assim você pode usar essa relação mais fácil para suas consultas.
No seu model Usuario, não existe nenhuma relação na função relations() ?
Podemos criar uma relação no seu model Usuario para a tabela evento_usuario, assim você pode usar essa relação mais fácil para suas consultas.
Então Newerton,
Vou postar as relações e dizer minha necessidade.
Usuario
public function relations() {
return array(
'eventos' => array(self::MANY_MANY, 'Evento', 'evento_usuario(usuario_id, evento_id)'),
);
}
Evento
public function relations() {
return array(
'usuarios' => array(self::MANY_MANY, 'Usuario', 'evento_usuario(evento_id, usuario_id)'),
);
}
EventoUsuario
public function relations() {
}
Necessidade 1 - Mostrar todos os eventos e situacao dos participantes tipo
Evento 1
Participantes na situação 1 - 10
Participacao na situação 2 - 15
Participantes na situação 3 - 10
Evento 2
Participantes na situação 1 - 3
Participacao na situação 2 - 5
Participantes na situação 3 - 9
Necessidade 2 - Mostrar detalhes da participação de Eventos
Evento 1
descrição evento 1
Participantes
João joao@provedor.com.br Pendente [Enviar Confirmação]
Maria Maria@provedor.com.br Pendente [Enviar Confirmação]
Juliana juliana@provedor.com.br confirmado
João joao@provedor.com.br confirmado [Enviar Confirmação]
Tabelas
id
Usuario
nome
Evento
id
Nome
descrição
Local
EventoUsuario
usuario_id
evento_id
situacao_evento (confirmado, pendente, cancelado)
obs: A tabela eventousuario não tem chave primária id a chave primária é composta pelas colunas usuario_id e evento_id e são únicas.
Obrigado por sua ajuda!!!
Share this topic:
Page 1 of 1

Help














