Beliğ toplama: sayım ve tespit boş
Bu belki önemsiz bir soru ama eğer Laravel Etkileyici bir koleksiyon $result = Model::where(...)->get()
döndü boş olup olmadığını kontrol etmek için belirli bir yol önerir acaba, yanı sıra öğelerin sayısını sayıyorum.
Şu anda !$result
boş bir sonuç tespit etmek için kullanıyoruz, bu yeterli mi? 5* *aslında tüm durumlarda, boş bir sonuç da dahil olmak üzere karşılar mı? gibi
CEVAP
->get()
kullanırken sadece birini aşağıda kullanamazsınız:
if (empty($result)) { }
if (!$result) { }
if ($result) { }
Eğer Illuminate\Support\Collection
bir örneği göreceksiniz dd($result);
Her zaman döndürülür çünkü, sonuç yok. Kontrol $a = new stdClass; if ($a) { ... }
aslında her zaman doğru dönecektir.
Eğer herhangi bir sonuç olup olmadığını belirlemek için aşağıdakilerden birini yapın:
if ($result->first()) { }
if (!$result->isEmpty()) { }
if ($result->count()) { }
if (count($result)) { }
Ayrıca ilk bulduğu model örneğine dönecek sorgu oluşturucu ->get()
yerine ->first()
null
başka bir şekilde kullanabilirsiniz. Bu ihtiyacın ya da veritabanından tek bir sonuç bekliyoruz yararlıdır.
$result = Model::where(...)->first();
if ($result) { ... }
Notlar / Referanslar
->first()
http://laravel.com/api/4.2/Illuminate/Database/Eloquent/Collection.html#method_firstisEmpty()
http://laravel.com/api/4.2/Illuminate/Database/Eloquent/Collection.html#method_isEmpty->count()
http://laravel.com/api/4.2/Illuminate/Database/Eloquent/Collection.html#method_countcount($result)
Koleksiyon Countable uyguladığından çalışır ve* *20 iç bir yöntem: http://laravel.com/api/4.2/Illuminate/Database/Eloquent/Collection.html#method_count
Nasıl C/C tamsayı taşması tespit etmek...
Java Çöp Toplama Günlük iletileri...
Çöp toplama ile ilgilidir Git yapılar ...
Nasıl Javascript internet hızı tespit ...
UUID uyuşmazlığı dolu kütüphane ile te...