count() adalah fungsi yang menghitung jumlah data yang ada, sebagai contoh saya mencari data user dengan email xx@gmail.com namun di database tidak ada, tentu saja hasil count-nya 0 dan itu tidak masuk kedalam if kita.
Sedangkan fungsi first() itu sama saja dengan fungsi “SELECT * FROM users WHERE parameter = inputan LIMIT 1” yang berarti hanya menampilkan satu row pasti tanpa perlu dihitung lagi dengan count.
Coba di debug terlebih dahulu dengan fungsi dd($variable); apakah email yg kita masukkan tepat atau tidak.