Получение неверного аргумента для foreach() в laravel 5.4
Я пытаюсь получить доступ к API, но, к сожалению, я получаю неверный аргумент. Ниже мой код в представлении.
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Address</th>
<th>Career</th>
</tr>
</thead>
<tbody>
@foreach ($students as $student)
<tr>
<td>{{$student->id}}</td>
<td>{{$student->name}}</td>
<td>{{$student->address}}</td>
<td>{{$student->career}}</td>
</tr>
@endforeach
</tbody>
Ниже мой контроллер для студентов.
class StudentController extends ClientController
{
public function getAllStudents()
{
$students = $this->obtainAllStudents();
return view('students/all-students', ['students' => $students]);
}
}
Функция get allAllStudents берется из класса ClientController
protected function obtainAllStudents()
{
$this->performGetRequest('https://lumenapi.juandmegon.com/students');
}
1 ответ
Решение
Вам нужно проанализировать данные, которые должны быть похожи
return view('students/all-students', ['students' => $students->data]);
Столько, сколько я смог увидеть ваш ответ от
'https://lumenapi.juandmegon.com/students'
вы получаете объект, который содержит массив, чтобы пройти массив, вы должны сначала получить объект.
Или вы можете напрямую использовать в блейд-файле, как
@foreach ($students->data as $student)
и вы не вернулись в функцию
protected function obtainAllStudents()
{
//you missed return here
return $this->performGetRequest('https://lumenapi.juandmegon.com/students');
}