[Resolvido] Joins
Bom dia,
Eu estou avançando no cake, mas sinto que ainda faltam várias coisas para aprender e uma delas é a utilização de joins.
Eu tenho duas tabelas que preciso fazer join para exibir em uma listagem, uma é a Usuarios e a outra Usuariotipos.
Estou seguindo a dica que encontrei de um participante do fórum que encontrei no seguinte link:
Então, meu contrller para Usuarios hoje esta assim:
<?php
class UsuariosController extends AppController {
var $name = 'Usuarios';
var $helpers = array( 'Html' , 'Form' , 'Javascript' , 'Ajax' );
function index(){
$Usuarios = $this->Usuario->find( 'all', array( 'joins' => array(
'table' => 'usuariotipos',
'alias' => 'UT',
'type' => 'INNER',
'conditions' => array('UT.id = Usuario.usuariotipo_id' ))));
$this->set('Usuarios' , $Usuarios );
}
}
?>
O problema é que ele não esta gerando a query de forma correta e o seguinte erro é exibido:
>
Warning (512): SQL Error: 1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'usuariotipos UT INNER Array WHERE 1 = 1' at line 1 [CORE\cake\libs\model\datasources\dbo_source.php, line 525]
Query: SELECT `Usuario`.`id`, `Usuario`.`ativo_id`, `Usuario`.`atualizacao_id`, `Usuario`.`cadastro_id`, `Usuario`.`cancelado_id`, `Usuario`.`ds_mail`, `Usuario`.`ds_nome`, `Usuario`.`ds_senha`, `Usuario`.`dt_nascimento`, `Usuario`.`ts_atualizacao`, `Usuario`.`ts_cadastro`, `Usuario`.`ts_inclusao`, `Usuario`.`usuariotipo_id` FROM `usuarios` AS `Usuario` usuariotipos UT INNER Array WHERE 1 = 1
Se reparar, o INNER JOIN parece não estar sendo criado, no final da query ele esta fazendo isso:
>
FROM usuarios AS Usuario usuariotipos UT INNER Array WHERE 1 = 1
Alguém poderia me dizer se falta alguma coisa ali no meu código?
Obrigado!
Discussão (9)
Carregando comentários...