Postingan lainnya
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
3 Jawaban:
<div>Coba dicek dulu user nya ada atau tidak. Dan pastikan attribute 'level' memang tersedia<br>bisa pakai </div><pre>dd($user)</pre><div>untuk debug<br><br>Sebelum if $user->level juga<br>gunakan logic</div><pre>if(!$user) abort(404);</pre><div><br>Ngecek apakah user tersedia atau tidak</div>
<div>Properti level tipe datanya pasti bukan object jadi penulisannya ganti,</div><pre>$user->level</pre><div>Jadi</div><pre>$user['level']</pre><div><br></div>
<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>