فصل چهارم: لایه مدل

کوئری بیلدر

در درس‌های پیش، با مدل‌های الیکوئنت آشنا شدیم و آموختیم که چطور از آن‌ها کمک بگیریم تا رکوردهایی را به جدول‌هایمان اضافه کنیم و چطور آن‌ها را ویرایش و حذف نماییم. نیم‌نگاهی هم به کوئری‌های ساده‌ای همچون شمارش کردن (()count) و یافتن (()find) انداختیم.

در این درس، به سراغ کوئری بیلدر می‌رویم که بسیاری آن را از جذاب‌ترین قابلیت‌های لاراول می‌دانند.

زنجیر و اجزای آن

برای آن که درک درستی از رشته‌های زنجیره‌ای متدها داشته باشیم، بهتر است کمی از دنیای برنامه‌نویسی بیرون بیاییم و به زنجیرهای واقعی نگاه کنیم.

chain-sling

زنجیرها وسایلی هستند که برای کشیدن یا آویختن یا بستن چیزها از آن استفاده می‌شود. مهم نیست که آن‌ها دقیقاً چه می‌کنند، اما باید بدانیم که به سه بخش نیاز دارند تا به درد بخورند و بتوانند کاری از پیش ببرند.

  • قلاب اول، که قاعدتاً فقط یک عدد است و زنجیر را مثلاً به سقف وصل می‌کند.
  • قلاب آخر، که باز هم قاعدتاً فقط یک عدد است و چیزی که قرار است آویزان شود را به زنجیر وصل می‌کند.
  • حلقه‌های زنجیر، که می‌توانند هر تعدادی باشند یا حتی اصلا نباشند و قلاب اول و آخر مستقیم به هم وصل شوند.

از قبل می‌شناسیم

هرچند که بحث کوئری بیلدر را تازه در این درس آغاز کرده‌ایم، اما اگر با این کتاب جلو آمده باشید، چندان هم با این موجود غریبه نیستید و با این که ممکن است نامش را نبرده باشیم، از حضورش بهره برده‌ایم.

نخستین مرتبه، آنجا بود که در درس «ایجاد، ویرایش و حذف رکوردها»، می‌خواستیم مطمئن شویم که لاراول واقعاً رکوردی را ساخته و ما را فریب نداده است.

در آنجا،

Mission::count()

``` where sort order Aggregates select columns raw queries

```