2016-05-24 11 views
1

私は、ダイナミックなフォームフィールドを追加してい 不明なプロパティとYii2形式でプログラム的に追加するテキストフィールドは

$channels = Channel::find()->all(); 

foreach ($channels as $channel) { 
    $rules[] = [['channel_' . $channel->name], 'safe']; 
} 

return $rules; 

は、しかし、私はエラーを取得しています:

Getting unknown property: app\models\MyModel::channel_facebook

Yii2で'channel_' . $channel->nameのプロパティをどのように動的に宣言しますか?

答えて

1

attributes()を単純に上書きすることができます。 :

public function attributes() 
{ 
    // just an example, not really efficient but it will work 
    $attributes = []; 
    $channels = Channel::find()->all(); 
    foreach ($channels as $channel) { 
     $attributes[] = 'channel_' . strtolower($channel->name); 
    } 
    return array_merge(parent::attributes(), $attributes); 
} 
+0

完璧なので、私はそれを取る... – keeg

関連する問題