login session menggunakan framework laravel dan dengan mysql

Bagaimana kak mengatasi seperti ini di laravel :

ErrorException thrown with message "count(): Parameter must be an array or an object that implements Countable"

codingan nya : public function loginPost(Request $request){ $email = $request->email; $password = $request->password; $data = login::where('email',$email)->first(); if(count($data) > 0){ if(Hash::check($password,$data->password)){

Session::put('username',$data->email); Session::put('login',TRUE); return redirect('home_user'); } else{ return redirect('login')->with('alert','Password atau Email, Salah !'.Hash::check($password,$data->password)); } } else{ return redirect('login')->with('alert','Password atau Email, Salahaa!'); } }

avatar ilmanhuda
@ilmanhuda

3 Kontribusi 0 Poin

Diperbarui 5 tahun yang lalu

2 Jawaban:

itu bermasalah di versi laravel dengan versi phpnya tidak sesuai gan.

avatar Nitomi
@Nitomi

14 Kontribusi 4 Poin

Dipost 5 tahun yang lalu

Jawaban Terpilih

parameter pada fungsi count() harus array / object jadi kalau agan menggunakan metode first() nilai baliknya class,, jadi tidak bisa dihitung kalau agan ingin menghitung hasilnya pake metode count() <pre> $data = login::where('email', $email)-&gt;count();

if($data &gt; 0){ // ... }

</pre> atau pake methode get(), nanti pake fungsi php =&gt; count(); <pre> $data = login::where('email', $email)-&gt;get();

if(count($data) &gt; 0){ // ... } </pre>

kalau pake metode first() cara ngeceknya gini <pre> $data = login::where('email', $email)-&gt;first();

if($data) { // ... } </pre>

Semoga Membantu dan Jelas (^_^)

avatar ciloxz
@ciloxz

284 Kontribusi 139 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban