ebuzer isNotEmpty() Collection yöntemi olduğu için sadece Collection dönen sorgularda çalışır. DB::select() ile yapılan sorgularda array döndüğü için onlarda çalışmaz. O yüzden $sonuclar?->isNotEmpty()
daha güvenilir.
Bunun çalışabilmesi için $sonuclar değişkeni countable bir object ya da tip olmalıdır. Ne olduğundan emin değilseniz önce emin olmalısınız ve null ise mesela boş diziye dönüştürmelisiniz ya da if(is_countable($sonuclar) && count($sonuclar)>0)
yapmalısınız.
koti42 if (!empty($sonuclar)) {
$arr = [];
empty($arr); // true
$collection = collect([]);
empty($collection); // false
$collection->isEmpty(); // true
Yani empty kullanırken dikkatli olmalısınız.
Sonuç olarak
ebuzer Tüm sorgularda çalışır mı bu?
Hayır, ne yaptığınızı bilmeniz lazım 🙂