چگونه می توان چندین شرط کوئری Where در لاراول و Eloquent نوشت؟

من از لاراول 5.7 استفاده می کنم و با استفاده از ابزار Eloquent می خواستم چندین شرط کوئری where را با یکدیگر ترکیب کرده و خروجی بهتری بدست بیاورم. مثلا شما فرض کنید می خواهم محصولی با مشخصات زیر از پایگاه داده استخراج کنم:

where ---> id == $id
where ---> title == $title
where ---> body == $body

اینطور که من مطالعه کردم نیازی به نوشتن تک به تک این شرط ها نیست ولی نمی دانم چطور حاصل ترکیبی آنها را بنویسم.

برچسب ها:
پرسیده شده در: 3 سال قبل
آمار بازدید: 1089
بیش از ۱ سال عضویت در روکسو بیش از ۱ سال عضویت در روکسو
5

در صورتیکه شما بخواهید با چندین شرط در لاراول یک کوئری واحد را از پایگاه داده دریافت کنید، روش های زیر می تواند به شما کمک کند.

روش اول:

$results = User::where('username', '=', $username)
    ->where('email', '=', $email)
    ->where('id', '=', $id)
    ->get();

این روش اگرچه بدون هیچ مشکلی پاسخ صحیحی دارد ولی راه حل دیگری وجود دارد که شما را حرفه ای تر و حجم کدها را کاهش می دهد.

روش دوم (پیشنهاد بنده):

$results = User::where([
       'username' => $username,
       'email' => $email,
       'id' => $id
])->get();

در واقع با روش دوم کوئری موردنظر شما راحت تر قابل مدیریت است.

ارسال شده در: 3 سال قبل
masoudsalehi (1398)
بیش از ۲ سال عضویت در روکسو بیش از ۲ سال عضویت در روکسو دارای 1000 کارما دارای 1000 کارما دارای 10 پاسخ صحیح دارای 10 پاسخ صحیح نظرات دریافتی:‌ بیش از 50 نظرات دریافتی:‌ بیش از 50 ارسال کننده پاسخ با 25 رای ارسال کننده پاسخ با 25 رای
جهت ارسال پاسخ ابتدا عضو سایت شوید.
اینستاگرام روکسو

روکسو در اینستاگرام

به جمع هزاران کاربر اینستاگرامی روکسو بپیوندید.