В foreach () указан неверный аргумент в laravel 5.4 - PullRequest
1 голос
/ 15 июня 2019

Я создаю простой login модуль с использованием laravel 5.4, который работает нормально, и я также устанавливаю значение session, чтобы получить доступ для конкретного пользователя, не проблема в том, что когда я нажимаю кнопку logout, он перенаправляет мойстраница на страницу login, которая идеально подходит, но когда я получаю доступ к странице dashboard непосредственно в браузере, появляется сообщение об ошибке, т.е. Invalid argument supplied foreach()

Как я могу решить эту проблему?Пожалуйста, помогите мне.

dashboard.blade.php

<?php
    if(!isset($data))
    {
        header('location:{{url("login")}}');
    }
?>
@foreach($data as $row)
    <h3>Welcome, {{ $row->username }}</h3>
@endforeach
<a href="{{url('logout')}}">Logout</a>

Mycontroller.php

public function dashboard()
    {
        $user = Session::get('user');
        return view('user.dashboard',['data'=>$user]);
    }

    public function logout(Request $request) {
        Auth::logout();
        Session::flush();
        return redirect('/login');
    }

1 Ответ

0 голосов
/ 15 июня 2019

Попробуйте empty () функция, несмотря на isset () функция

, а также необходимо проверить $ data is_array () или is_object () .

<?php
if(empty($data))
{
    header('location:{{url("login")}}');
}
?>

@if (is_array($data) || is_object($data))
  @foreach($data as $row)
         <h3>Welcome, {{ $row->username }}</h3>
  @endforeach
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...