راکت
حل شده

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

3 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

3
بهترین پاسخ

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

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

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

afra
afra
@afra1.mmd

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

afra
afra
@afra1.mmd

amirhossein.d.z@

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

شاید پاسخ شما همین‌جا باشد

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

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