Estou com um probleminha a algum tempo referente a um projeto que estou desenvolvendo em cakephp, minha view não consegue ler um select com inner join da tabela.
Controller:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public functioninitialize()
{
$posts = $this->Posts->find("all",array(
"joins"=> array(
array(
"table"=> "users",
"alias"=> "User",
"type"=> "INNER",
"conditions"=> array("Post.user_id = User.id "),
"fields"=> array('Post.*', 'User.username')
)
)
)
);
Model:
1
2
3
4
5
public functioninitialize(array $config) {
$this->addBehavior('Timestamp');
$this->displayField('title');
$this->belongsTo('User'); //belongsTo que é a associação que estou fazendo entre o cake e o join;
}
View:
1
<?= $post->username ?>
Dessa forma, na minha view, me retorna NULL, se eu fizer a view:
1
<?= $post->user->username ?>
retorna um erro que não encontra o obejto "user".
Explicando melhor, meu código sql esta assim:
1
2
3
SELECT posts.*, users.username
FROM posts
inner join users on (posts.user_id = users.id )
essa consulta está buscando o "username" da tabela A para a tabela B, sendo que essa tabela B minha view consegue fazer a leitura normalmente. Com esse select meu banco traz a consulta exatamente que eu preciso, mas minha view não mostra o resultado e retorna nulo.
Pergunta
lucasleonarczyk
Estou com um probleminha a algum tempo referente a um projeto que estou desenvolvendo em cakephp, minha view não consegue ler um select com inner join da tabela.
Controller:
publicfunctioninitialize(){$posts = $this->Posts->find("all",array("joins"=> array(array("table"=>"users","alias"=>"User","type"=>"INNER","conditions"=> array("Post.user_id = User.id "),"fields"=> array('Post.*','User.username')))));Model:
publicfunctioninitialize(array $config) {$this->addBehavior('Timestamp');$this->displayField('title');$this->belongsTo('User');//belongsTo que é a associação que estou fazendo entre o cake e o join;}View:
<?= $post->username ?>Dessa forma, na minha view, me retorna NULL, se eu fizer a view:
<?= $post->user->username ?>retorna um erro que não encontra o obejto "user".
Explicando melhor, meu código sql esta assim:
SELECT posts.*, users.usernameFROM postsinner join users on (posts.user_id = users.id )essa consulta está buscando o "username" da tabela A para a tabela B, sendo que essa tabela B minha view consegue fazer a leitura normalmente. Com esse select meu banco traz a consulta exatamente que eu preciso, mas minha view não mostra o resultado e retorna nulo.
Se alguém puder me dar um dica, Obrigado.
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.