У меня есть класс UserForm, у которого есть список выбора, заполненный из связанной модели (заданной иностранным отношением в yml) следующим образом:
$this->setWidget('report_id', new sfWidgetFormDoctrineChoice(array('model' => $this->getRelatedModelName('Report'))));
Я бы хотел отфильтровать объекты отчета, полученные из этого отношения, по одному из полей отчета, «активным», чтобы в форме отображались только отчеты с активным = 1.
У меня есть метод ReportTable :: GetActiveReports (), который выполняет соответствующий запрос и возвращает отфильтрованные отчеты. Поэтому одним из вариантов является заполнение виджета результатами этой функции. Любые советы по синтаксису, чтобы сделать это?
Мне кажется, что более чистый способ - использовать класс UserFormFilter для фильтрации отчетов по active = 1. К сожалению, я не смог найти какую-либо документацию о том, как использовать фильтры форм (или действительно, какие они есть), так что, возможно, это не правильное решение. Является ли фильтр формы подходящим инструментом для этой работы?
Кажется, я должен использовать класс Doctrine_Record_Filter_Standard, как здесь определено: http://www.doctrine -project.org / api / orm / 1.2 / doctrine / doctrine_record_filter_standard.html
Но мне не понятно соответствующее использование.
Любое руководство будет полезным. Спасибо!
Dan