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

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

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

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

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

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

روش اول:

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

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

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

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

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

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