sfWidgetFormPropelChoice
複数選択オプションをオンにして、フィルターでウィジェットを使用しています。
デフォルトですべてのオプションを選択する簡単な方法はありますか?
set default を使用して特定のオプションを選択できることはわかっていますが、テーブルが大きくなってもそれらをすべて追加したいと考えています。
$this->setDefault('field', array(1,2,3,4,5));
sfWidgetFormPropelChoice
複数選択オプションをオンにして、フィルターでウィジェットを使用しています。
デフォルトですべてのオプションを選択する簡単な方法はありますか?
set default を使用して特定のオプションを選択できることはわかっていますが、テーブルが大きくなってもそれらをすべて追加したいと考えています。
$this->setDefault('field', array(1,2,3,4,5));
テーブルのすべての値をデフォルトの配列として与えないのはなぜですか? のようなもの (私はと呼ばれるデフォルトのテーブルを取ります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());