afra
6 سال پیش توسط afra مطرح شد
3 پاسخ

ایجاد ارتباط بین table ها

سلام
من یه table برای Store دارم، و فیلد user_id صاحب فروشگاه رو هم تو این table دارم. اطلاعات مربوط به شهر و استان رو در جدول users دارم. همینطور یه فیلد تعداد فروش در جدول Store هست که میخوام بر اساس اون پرفروش ترین ها رو برگردونم و البته بر اساس شهر.
" ; ()list=Store::orderBy('store_saleCount','desc')->get$ "
این کد پرفروش ترین ها رو میده بهم، ولی چطور با کمک فیل user_id کد شهر مورد نظر رو تو این جستجو اعمال کنم؟


ثبت پرسش جدید
1

سلام
میتونی از whereHas استفاده کنی :

$list = Store::whereHas('user', function($q) use($targetCityId) {
    $q->where('city_id', $targetCityId);
})->orderBy('store_saleCount','desc')->get();

دراینصورت همه فروشگاهایی که صاحابشون در شهر با آی دی targetCityId هستن کوئری میشن


afra
@afra1.mmd 6 سال پیش مطرح شد
0

خیلی لطف کردین مهندس
درست شد


afra
@afra1.mmd 6 سال پیش مطرح شد
0

amirhossein.d.z@

سلام
پاسخی که دادین سری قبل کمک کرد.
اما حالا میخوام محصولات مربوط به یه شهر رو برگردونم با توجه به اینکه ما تو جدول products , فیلد store_id رو داریم و تو جدول stores فیلد user_id رو داریم و تو جدول users فیلد user_city رو داریم.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام