Ошибка при отображении свойства коллекции в представлении laravel?


у меня есть следующий запрос в laravel с query builder:

 $datos = $request->input("select");

    $precio = $request->input("Precio");

    $estudios =$request->input('CheckEstudio');

    $conte = count($estudios);



            foreach ($estudios as $key) {
                $sql2[]=DB::table('actividades')
                ->join('proyectos','actividades.id_actividad','proyectos.id_actividad')
                ->select('nombre_actividad')
                ->where('proyectos.id_estudio',$key)->get();


            }

переменная $Studies foreach подсчитывает мне выбранные checkbox, которые у меня есть в представлении, которые имеют значение от 1 до 4, поэтому переменная запроса $sql2[] объявлена как массив, так как в зависимости от выбранного checkbox запрос изменяется, и результат сохраняется в массиве.

при выполнении dd ($sql2); это дает мне следующее результат:

 array:4 [▼
  0 => Collection {#184 ▼
    #items: array:11 [▼
      0 => {#188 ▼
        +"nombre_actividad": "2 MODELADO DEL SISTEMA"
      }
      1 => {#183 ▼
        +"nombre_actividad": "ANÁLISIS FLUJO DE CARGA"
      }
      2 => {#185 ▼
        +"nombre_actividad": "ANÁLISIS DE CORTO CIRCUITO "
      }
      3 => {#181 ▼
        +"nombre_actividad": "ANÁLISIS DE PÉRDIDAS DEL SISTEMA "
      }
      4 => {#189 ▶}
      5 => {#186 ▶}
      6 => {#187 ▶}
      7 => {#190 ▶}
      8 => {#191 ▶}
      9 => {#192 ▶}
      10 => {#193 ▶}
    ]
  }
  1 => Collection {#198 ▶}
  2 => Collection {#209 ▶}
  3 => Collection {#216 ▶}
]

запрос выполняется правильно и сохраняется таким образом, моя проблема заключается в том, что я отправляю переменную sql2 в представление и пытаюсь получить доступ к свойству имя_активности для отображения этих данных в представлении.

    return view('actividades',compact('datos','count','consultaActividades','sql2','precio'));
    // dd($sql2) ;







    }

}

Так я пытаюсь показать данные:

@foreach($sql2 as $sql)
        <tr>
        <td>{{ $sql->nombre_actividad }}</td>

        {{-- @php
        for ($i=0; $i < $count ; $i++) { 

         echo '<td><input type="text" name"txt[]" value="'.$precio.'"></td>';
        }

        @endphp --}}

                <fieldset id="fieldt"></fieldset>

            </tr>

        @endforeach

это сообщение об ошибке, которое я получаю:introducir la descripción de la imagen aquí

Что может быть не так?

Author: Shaz, 2018-04-24

1 answers

Вы должны перебирать элементы каждой коллекции или, другими словами, выполнять двойную итерацию, принимая во внимание структуру, доставляемую запросом:

@foreach($sql2 as $sql)

    @foreach($sql as $actividad)

    <tr>
    <td>{{ $actividad->nombre_actividad }}</td>
    ....

    @endforeach

@endforeach
 2
Author: Shaz, 2018-04-24 16:19:59