SORU
13 Aralık 2013, Cuma


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
14 Aralık 2013, CUMARTESİ


->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

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Awesomesauce Network

    Awesomesauce

    4 EKİM 2012
  • Codecourse

    Codecourse

    3 ŞUBAT 2009
  • Machinima

    Machinima

    17 Ocak 2006