Symfony - 多个sfWidgetFormPropelChoice过滤器 - 如何默认选择全部?

时间:2012-04-26 19:22:24

标签: symfony1 symfony-1.4 propel symfony-forms

我在过滤器中使用了sfWidgetFormPropelChoice小部件,并启用了多重选择选项。

是否有一种简单的方法可以默认选择 ALL 选项?

我知道我可以使用set default来选择特定的选项,但我希望它们全部添加, 即使表格增长。

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

1 个答案:

答案 0 :(得分:0)

为什么不将表中的所有值作为默认数组?类似的东西(我将采用名为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());