Laravel: @foreach Неопределенная переменная - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть ошибка, но в foreach: Неопределенная переменная: информация Это мой вид:

@foreach ($infos as $info)
    <tr>
        <td>{{ $info->id }}</td>
        <td>{{ $info->name}}</td>
        <td>{{ $info->code }}</td>
        <td>{{ $info->phone }}</td>
        <td>{{ $info->phone2 }}</td>
    </tr>
@endforeach

и мой контроллер

    public function index()
    {
        $info = Info::latest()->get();
        return view('info.admin')->with('infos', $info);
    }

Ответы [ 3 ]

1 голос
/ 02 ноября 2019

Вы должны передать параметры в представление следующим образом:

   return view('info.admin', ['infos' => $infos]);

То, что вы делали до использования with, имеет другой эффект, оно мигает данные в сеансе. Проверьте этот документ здесь

0 голосов
/ 02 ноября 2019

Вы можете использовать forelse будет лучше:

@forelse($infos as $key => $info)
    <tr>
        <td>{{ $info->id }}</td>
        <td>{{ $info->name}}</td>
        <td>{{ $info->code }}</td>
        <td>{{ $info->phone }}</td>
        <td>{{ $info->phone2 }}</td>
    </tr>
@empty
    <tr>
        <td>Data Not Found</td>
    </tr>
@endforelse

Контроллер:

public function index()
{
    $info = Info::latest()->get();
    return view('info.admin')->with(['infos'=> $info]);
}
0 голосов
/ 02 ноября 2019

Проверьте, дает ли следующий код «Нет информации». Если это так, это означает, что переменная $ infos в контроллере не возвращает данные и, таким образом, выдает ошибку

@if(empty($infos))
    <tr><td>There are no infos</td></tr>
@else
   @foreach ($infos as $info)
        <tr>
            <td>{{ $info->id }}</td>
            <td>{{ $info->name}}</td>
            <td>{{ $info->code }}</td>
            <td>{{ $info->phone }}</td>
            <td>{{ $info->phone2 }}</td>
        </tr>
    @endforeach
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...