Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
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'));Mas ficam aí as duas dicas pra quem tiver o mesmo problema... ;)
>
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'));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
>
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