Ayuda para construir un json desde array

Iniciado por d91, 6 Noviembre 2017, 04:54 AM

0 Miembros y 1 Visitante están viendo este tema.

d91

Hola estoy trajando con yii2, y necesito construir un json, a partir de algunos select dinamicos que voy alcanzando en cascada, pero al llegar al segundo for ya no me inserta el array correspondiente aunque las consultas si las va haciendo ya que he debugeado un poco alguien me podria ayudar: (donde esta el var_dump, ya no me agrega otro array)
Código (php) [Seleccionar]

$cuestionario = (new \yii\db\Query())
                    ->select(['*'])
                    ->from('CUESTIONARIOS')
                    ->where(['ID_CUESTIONARIO' => $id])
                    ->all();

    foreach ($cuestionario as $key => $value) {

        $data = array($key => $value);
    }

                          // var_dump($cuestionario['ID_CUESTIONARIO']);
                      //die();
     $area = (new \yii\db\Query())
                      ->select(['*'])
                      ->from('AREAS')
                      ->where(['ID_CUESTIONARIO' =>$cuestionario[0]['ID_CUESTIONARIO']])
                      ->all();

                   
      /* obtenemos ahora las subareas de cada area*/                     

     for ($i=0; $i < count($area); $i++) {

          $data[0]['AREAS'] =  $area[$i];
           
                        $subarea = (new \yii\db\Query())
                          ->select(['*'])
                          ->from('SUB_AREAS')
                          ->where(['ID_AREA' => $area[$i]['ID_AREA']])
                          ->all();


        /* Obtenemos ahora las preguntas de cada subarea*/

                    for ($j=0; $j < count($subarea); $j++) {

                          $data[0]['AREAS'][$i]['SUBAREAS'] = $subarea[$j];

                          $preg = (new \yii\db\Query())
                            ->select(['*'])
                            ->from('PREGUNTAS')
                            ->where(['ID_SUB_AREA' => $subarea[$j]['ID_SUB_AREA']])
                            ->all();

                                    var_dump( $data[0]['AREAS'][$i]['SUBAREAS']);die();

        /*Obtenemos ahora las respuestas de cada pregunta */

                            for ($s=0; $s < count($preg); $s++) {
                                 
                                    $data[0]['AREAS'][$i]['SUBAREAS'][$j]['PREGUNTAS'] = $preg[$s];


                                    $resp = (new \yii\db\Query())
                                        ->select(['*'])
                                        ->from('RESPUESTAS')
                                        ->where(['ID_PREGUNTA' => $preg[$s]['ID_PREGUNTA']])
                                        ->all();

        /*Por ultimo agregamos las respuesta a cada pregunta */
                                        for ($x=0; $x < count($resp) ; $x++) {
                                             
                                              $data[0]['AREAS'][$i]['SUBAREAS'][$j]['PREGUNTAS'][$s]['RESPUESTA'] = $resp[$x];                     
                                        }                             
                              }
                    }
       }

       return Json::encode($data);