Filtrar Os Dados Do $Dataprovider

Oi,

Eu quero colocar uma condição para filtrar os dados do $dataProvider no actionIndex() de um dos meus Controllers. No banco eu tenho 2 tabelas com a relação um-para-muitos. Quando eu entro no view/index que representa a tabela com a FK (tabela2), eu quero que sejam apresentados apenas os itens relacionados ao mesmo item da outra tabela (tabela1).

Uma condição assim (‘SELECT * FROM tabela2 WHERE id_tabela1=’.$id).

Valeu.

Tenta usar dessa forma, mas não tenho certeza se vai funcionar!

$dataProvider=new CActiveDataProvider(‘tabela2’, array(

'criteria'=>array(


    'condition'=>'id_tabela1='.$id,


    'order'=>'create_time DESC',


    'with'=>array('tabela1'),


),


'pagination'=>array(


    'pageSize'=>20,


),

));

Caso não funcione utilize a extensão Zii para fazer esse tipo de consulta.

Adriano Mendes funcionou cara, valeu.

O problema é que via url eu posso colocar o ID de um item referente a outro item da tabela1. Como eu faço para não permitir esse acesso?

begnini, isso quem vai limitar, serão as permissões do usuário.

Ou seja, o mesmo só pode visualizar os dados dos IDs que interessam-lhes.

É algo particular de cada aplicação, logo, a checagem, tem de ser feita pela aplicação, para saber se o usuário possuí permissão para ver o ID em questão.

Podes ainda, remover o parâmetro da URL e tentar ao menos removê-lo da URL, utilizando POST, via AJAX por exemplo.