1

sfWidgetFormPropelChoice在过滤器中使用了一个小部件,并打开了多选选项。

有没有一种简单的方法可以默认选择所有选项?

我知道我可以使用 set default 来选择特定的选项,但我希望它们都被添加,即使表格变大了。

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

1 回答 1

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());
于 2012-04-26T19:50:51.553 回答