Symfony - несколько фильтров sfWidgetFormPropelChoice - как выбрать все по умолчанию?

Я использую sfWidgetFormPropelChoice виджет в фильтре с включенной опцией множественного выбора.

Есть ли простой способ выбрать ВСЕ параметры по умолчанию?

Я знаю, что могу использовать set default для выбора определенных опций, но я хочу, чтобы они все добавлялись по мере роста таблицы.

$this->setDefault('field', array(1,2,3,4,5));

1 ответ

Почему бы не дать все значения из таблицы в качестве массива по умолчанию? Что-то вроде (я возьму таблицу по умолчанию под названием Article):

// in your model
class ArticleQuery extends BaseArticleQuery
{
  static public function getDefaultsValue()
  {
    $articles = self::create()
      ->setFormatter('PropelArrayFormatter')
      ->find();

    $default = array();
    foreach($articles as $article)
    {
      $default[] = $article['Id'];
    }

    return $default;
  }

И тогда, в вашем setDefault:

$this->setDefault('field', ArticleQuery::getDefaultsValue());
Другие вопросы по тегам