2017-01-30 16 views
0

私がやりたいことは、モデルpreguntasからデータを取得するための最初のステップであり、各データに対してラジオリストを生成したいという前の情報が必要です。Yii2のそれぞれのために、それぞれの内部にそれぞれを追加できますか?

あなたが理解できない場合は、私がしようとしているのは です。Preguntasの各質問(Preguntas)では、HTMLラベルが生成され、ラベルごとに5つのボタン付き放射性物質が生成されます。

<?php 

    use yii\helpers\Html; 
    use yii\widgets\ActiveForm; 
    use unclead\multipleinput\MultipleInput; 
    use app\models\Preguntas; 
    use yii\db\ActiveRecord; 
    use yii\widgets\DetailView; 
    use yii\db\Query; 
    use app\models\Respuestas; 

    /* @var $this yii\web\View */ 
    /* @var $model app\models\Encuestas */ 
    /* @var $form yii\widgets\ActiveForm */ 
?> 

    <div class="encuestas-form"> 

     <?php $form = ActiveForm::begin(); ?> 

     <?= $form->field($model, 'titulo')->textInput(['maxlength' => true]) ?> 

     <?= $form->field($model, 'objetivo')->textInput(['maxlength' => true]) ?> 

    <?php $respuestas = Respuestas::find()->all(); ?> 

    <?php foreach (Preguntas::find()->all() as $pregunta) { 
     $data = $pregunta->preguntas; 
     echo "<br>"; 
     echo Html::label(
       $data, 'Pregunta', 
       ['class' => 'control-label', 'style' => 'color:black'] 
     ); 

     echo "<br>"; 
     foreach ((array)$data as $respuesta) { 
      echo Html::radio('agree', true, ['label' => 'I agree', 'value' => '1']);; 
      echo Html::radio('agree', true, ['label' => 'I agree', 'value' => '2']);; 
     } 
    } 

    ?> 

     <div class="form-group"> 
      <?= Html::submitButton(
        $model->isNewRecord ? 'Create' : 'Update', 
        ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary'] 
      )?> 
     </div> 

     <?php ActiveForm::end(); ?> 
    </div> 

おかげ

+2

現在、foreach内でforeachを実行するので、問題は何ですか?そして、plzはrelvantコードのみを表示します、thnx – JustOnUnderMillions

+0

@JustOnUnderMillionsよく2つの問題があります。 1)それは垂直方向に印刷します(私はインライン()を使用しようとしましたが動作しませんでしたが)水平方向にしたい2)どのように私は別のモデルに "指す"ことができます –

+0

それぞれについて - あなたはHtml :: radioListを見て、ArrayHelper :: mapを使って項目を生成しましたか? – sonofagun

答えて

2

回答:

近いです。これはどうですか?

最初のforeachの変数で2番目のforeachを置き換えます。

関連する問題