آشنایی با توابع whereAny و whereAll در لاراول

در به‌روزرسانی ۱۰.۴۷ لاراول، دو تابع جدید به نام‌های whereAny و whereAll به Eloquent Query Builder اضافه شده‌اند. این دو تابع به شما کمک می‌کنند تا کوئری‌های خود را آسان‌تر و خواناتر بنویسید و از پیچیدگی‌های کدهای برنامه‌نویسی بکاهید.

لاراول

کاربرد توابع whereAny و whereAll در لاراول

فرض کنید می‌خواهید لیستی از کاربران را با نام یا ایمیل یا شماره تلفن خاص پیدا کنید. در گذشته برای انجام این کار، مجبور بودید از چندین where clause به صورت تو در تو استفاده کنید:

این کد کار می‌کند، اما خواندن و درک آن دشوار است. با استفاده از whereAny می‌توانید به راحتی به همان نتیجه برسید:

در این مثال، whereAny ردیف‌هایی را جستجو می‌کند که یکی از ستون‌های name، email یا phone_number آن شبیه به عبارت $search است.

مثال برای تابع whereAll

با کمک این تابع هم می‌توانید چند شرط را به صورت همزمان با and و به شکل کوتاه‌تر بنویسد. در مثال زیر یک مقدار را با چند فیلد به صورت همزمان مقایسه می‌کنیم:

اجرای دستورات بالا، کوئری زیر را تولید می‌کند:

با استفاده از این دو تابع جدید به مزایای زیر دست پیدا می‌کنید:

  • سادگی
    whereAny و whereAll کد شما را کوتاه‌تر و خواناتر می‌کنند.
  • خوانایی
    این توابع هدف از کوئری شما را به خوبی نشان می‌دهند.
  • کارایی
    whereAny و whereAll می‌توانند در برخی موارد از نظر عملکرد، کارآمدتر از کوئری‌های سنتی باشند.

روش‌های جایگزین

قبل از whereAny و whereAll، از روش‌های زیر برای انجام جستجوهای مشابه استفاده می‌شد:

  • استفاده از چندین where clause به صورت تو در تو
    همانطور که بالاتر در مثال شرح داده شد.
  • استفاده از whereIn
    می‌توانید از whereIn برای جستجو در چندین مقدار در یک ستون استفاده کنید.
  • استفاده از کوئری‌های SQL خام
    می‌توانید کوئری‌های SQL را به طور مستقیم بنویسید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *