من از لاراول 5.7 استفاده می کنم و با استفاده از ابزار Eloquent می خواستم چندین شرط کوئری where را با یکدیگر ترکیب کرده و خروجی بهتری بدست بیاورم. مثلا شما فرض کنید می خواهم محصولی با مشخصات زیر از پایگاه داده استخراج کنم:
where ---> id == $id
where ---> title == $title
where ---> body == $body
اینطور که من مطالعه کردم نیازی به نوشتن تک به تک این شرط ها نیست ولی نمی دانم چطور حاصل ترکیبی آنها را بنویسم.
در صورتیکه شما بخواهید با چندین شرط در لاراول یک کوئری واحد را از پایگاه داده دریافت کنید، روش های زیر می تواند به شما کمک کند.
روش اول:
$results = User::where('username', '=', $username)
->where('email', '=', $email)
->where('id', '=', $id)
->get();
این روش اگرچه بدون هیچ مشکلی پاسخ صحیحی دارد ولی راه حل دیگری وجود دارد که شما را حرفه ای تر و حجم کدها را کاهش می دهد.
روش دوم (پیشنهاد بنده):
$results = User::where([
'username' => $username,
'email' => $email,
'id' => $id
])->get();
در واقع با روش دوم کوئری موردنظر شما راحت تر قابل مدیریت است.
به جمع هزاران کاربر اینستاگرامی روکسو بپیوندید.