Kenapa error rying to get property 'level' of non-object

Login Controller

 public function postlogin (Request $request) {
        //dd($request->all());
        if (Auth::attempt($request->only('username', 'password'))){
            return redirect('/Login');
        }
        return redirect ('Login');
    }

CekLevel

 public function handle($request, Closure $next)
    {
        $user = \App\User::where('username', $request->username)->first();
        if ($user->level == 'admin') {
            return redirect('/tentang');
        } elseif ($user->level == 'mahasiswa') {
            return redirect('mahasiswa/dashboard');
        }
        return $next($request);
    }

Mohon bantuannya

avatar chrrriann
@chrrriann

15 Kontribusi 2 Poin

Diperbarui 2 tahun yang lalu

3 Jawaban:

<div>Coba dicek dulu user nya ada atau tidak. Dan pastikan attribute 'level' memang tersedia<br>bisa pakai&nbsp;</div><pre>dd($user)</pre><div>untuk debug<br><br>Sebelum if $user-&gt;level juga<br>gunakan logic</div><pre>if(!$user) abort(404);</pre><div><br>Ngecek apakah user tersedia atau tidak</div>

avatar hilmanski
@hilmanski

2692 Kontribusi 2139 Poin

Dipost 2 tahun yang lalu

<div>Properti level tipe datanya pasti bukan object jadi penulisannya ganti,</div><pre>$user-&gt;level</pre><div>Jadi</div><pre>$user['level']</pre><div><br></div>

avatar nfa
@nfa

8 Kontribusi 3 Poin

Dipost 2 tahun yang lalu

<div>Tulis var_dump($user) sebelum pernyataan if. var_dump adalah salah satu teman terbaik anda di dalam debugging program PHP. Anda bisa melihat struktur dari $user sebelum program anda mengalami crash. Coba lihat, memangnya benar $user memiliki property level?</div>

avatar danielwilianto
@danielwilianto

16 Kontribusi 17 Poin

Dipost 2 tahun yang lalu

Login untuk ikut Jawaban