Я работаю над проектом Symfony для управления базой данных. Сначала я объясню, как это работает:
В базе данных все элементы связаны с уникальным элементом «сцена». Когда пользователь получает доступ к приложению, он выбирает, какую сцену он хочет видеть (он сохраняет это в пользовательском параметре). Таким образом, при перечислении элементов приложение должно перечислять только элементы, связанные со сценой, выбранной пользователем.
*Примечание: все элементы имеют атрибут сцены в определении таблицы.
Итак, моя проблема здесь:
Я разработал список сущностей элементов, используя класс sfPropelPager для разбиения на страницы. Также добавил несколько фильтров для поиска в списке, и для этого я использовал систему фильтров, предоставляемую symfony (<element>FormFilter.class.php
и прочее).
Теперь я хочу, чтобы в списке не отображались элементы из других сцен, кроме выбранных пользователем.
Как я могу добавить дополнительные критерии к критериям, заданным классом фильтра? или Как бы вы решили проблему?
вот мой код действия:
public function executeUnidadfilter(sfWebRequest $request){
$this->filter = new BaUnidadorganizativaTblFormFilter();
$c = $this->filter->getCriteria();
$this->filter->bind($request->getParameter($this->filter->getName()));
if($this->filter->isValid()){
$this->pager = new sfPropelPager('BaUnidadorganizativaTbl',$this->sfPropelPagerLines);
echo $this->getUser()->getEscenario();
$this->pager->setCriteria($c);
$this->pager->init();
}else{
$this->pager = new sfPropelPager('BaUnidadorganizativaTbl',$this->sfPropelPagerLines);
$this->pager->init();
}
$this->setTemplate('Unidadlist');
}
*Примечание: «сцена», упомянутая ниже, — это Escenario в коде.
большое спасибо за ваше время