P3rukao 0 Denunciar post Postado Fevereiro 12, 2011 Galera, estava vendo aqui a organização do site do Youtube, e estava querendo fazer algo parecido com a página deles: http://www.youtube.com/videos?feature=mh Nessa página ele lista os itens de vídeo, dividindo por categorias, e cada categoria tem um limite de 4 vídeos. Como eu poderia fazer isso com o CAKE? No php puro, eu consegui dessa maneira: http://forum.imasters.com.br/topic/393159-select-join-em-album-de-fotos Compartilhar este post Link para o post Compartilhar em outros sites
Eduiagami 1 Denunciar post Postado Fevereiro 14, 2011 Galera, estava vendo aqui a organização do site do Youtube, e estava querendo fazer algo parecido com a página deles: http://www.youtube.com/videos?feature=mh Nessa página ele lista os itens de vídeo, dividindo por categorias, e cada categoria tem um limite de 4 vídeos. Como eu poderia fazer isso com o CAKE? No php puro, eu consegui dessa maneira: http://forum.imasters.com.br/topic/393159-select-join-em-album-de-fotos Olá amigo, tudo bom? Vamos lá! No caso você quer pegar os ultimos 4registros de uma tabela apartir de uma categoria correto? entao lá vai: Vamos super que os registros que você queira pegar sejam Posts(artigos) e as categorias Category 1º Containable #Set o behavior containable nos models Post e Category var $actsAs = array('Containable'); [code] 2º Montando consulta [code] #Pegar os ultimos 4 posts de uma categoria $conditions = array(); #suas condições $contain = array('Post'=>array('fields'=>array('Post.id','Post.title'),'conditions'=>array('Post.status'=>'on'),'limit'=>4,'order'=>array('Post.date'=>'ASC'))); #Aqui vai a mágica, o Containable busca os dados que você quiser em suas tebelas relacionais, para isso tem q haver um tipo de relação entre as tabelas $posts = $this->Category->find('all',array('contain'=>$contain,'conditions'=>$conditions)); #se quiser add os atributos fique a vontade =D Pronto! Agora sete a variavel para a view e de um "pr" para saber como retornou e faça a iteração que achar melhor! Espero que tenha sido util! abraços Compartilhar este post Link para o post Compartilhar em outros sites
P3rukao 0 Denunciar post Postado Fevereiro 19, 2011 Bacana, obrigado pela dica Edu, vou testar para ver se funciona também.... mas eu consegui utilizando apenas as relações que o próprio cake faz. Na página de Posts, eu mandei listar as categorias com um maior nivel de recursividade, daí ele automaticamente já pega os posts relacionados... function index() { //...[font=arial, sans-serif][size=2]stuffs[/size][/font]... $this->Categoria->recursive = 2; $posts = $this->Categoria->find('all', $options); $this->set(compact('posts')); }//end action Mas ficam aí as duas dicas pra quem tiver o mesmo problema... ;) Compartilhar este post Link para o post Compartilhar em outros sites
Eduiagami 1 Denunciar post Postado Fevereiro 19, 2011 Bacana, obrigado pela dica Edu, vou testar para ver se funciona também.... mas eu consegui utilizando apenas as relações que o próprio cake faz. Na página de Posts, eu mandei listar as categorias com um maior nivel de recursividade, daí ele automaticamente já pega os posts relacionados... function index() { //...[font=arial, sans-serif][size=2]stuffs[/size][/font]... $this->Categoria->recursive = 2; $posts = $this->Categoria->find('all', $options); $this->set(compact('posts')); }//end action Mas ficam aí as duas dicas pra quem tiver o mesmo problema... ;) Está sua tambem funciona legal, mas com Containable você tem maior controle sobre os dados que estão vindo! abraços Compartilhar este post Link para o post Compartilhar em outros sites