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

3 سال پیش توسط afra مطرح شد
آفلاین
user-avatar
afra ( 178 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

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

بهترین پاسخ
آفلاین
user-avatar

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

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

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

آفلاین
user-avatar
امیرحسین دشتی زاده ( 6499 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

1

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

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

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

آفلاین
user-avatar
afra ( 178 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
afra ( 178 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

[email protected]

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

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.