محمدرضا فلکی
2 سال پیش توسط محمدرضا فلکی مطرح شد
2 پاسخ

برگردوندن کوپن های یه مشتری

سلام به همگی
من بین مشتری ها و کوپن ها رابطه چند به چند زدم و الان میخوام کوپن های یه مشتری رو بگیرم :

$customer = Customer::find($customerID);
$coupons = $customer::with('coupons')->get();

ولی توی کد بالا همه کوپن هارو میگیره.
ممنون میشم راهنمایی کنید.


ثبت پرسش جدید
ابوالفضل رجائی نسب
تخصص : برنامه نویس (laravel-backend-p...
@abol313 2 سال پیش مطرح شد
1

به نظر من اون مثالم مشکل داره الان رفتم داکیومنت خودشو خوندم قسنگ توضیح داده بود برو نگاه کن و به نام گذاری جدول واسط یا intermediate table هم دقت کن
https://laravel.com/docs/9.x/eloquent-relationships#many-to-many


ابوالفضل رجائی نسب
تخصص : برنامه نویس (laravel-backend-p...
@abol313 2 سال پیش مطرح شد
1

بِسْمِ ٱلْلّٰهِ ٱلْرَّحْمٰنِ ٱلْرَّحِیْم
ألْحَمْدُ لِلّٰهِ

سلام، اول یک رابطه چند به چند رو توصیف کن و اسه جداولت منطورم رابطشون رو اینجا توضیح بده
و معمولا روابط چند به چند سه تا جدول میگیره دو تا اصلی و یکی واسط مثلا یکی customers یکی coupons و یکی customers_coupons که داخل هر رکوردش آیدی چند تا از یک جدول و میتونه به چندتا آیدی از جدول دیگه ربط بده، حالا مثلا برای ای مثال میشع کوپن عا رو:

Customer::find($customerId)->hasMany(CustomerCoupon::class)->get()->each(function($customerCoupon){

return Coupon::find($customerCoupon->coupon_id);
}); // i think it works and returns related coupons

ابوالفضل رجائی نسب
تخصص : برنامه نویس (laravel-backend-p...
@abol313 2 سال پیش مطرح شد
1

به نظر من اون مثالم مشکل داره الان رفتم داکیومنت خودشو خوندم قسنگ توضیح داده بود برو نگاه کن و به نام گذاری جدول واسط یا intermediate table هم دقت کن
https://laravel.com/docs/9.x/eloquent-relationships#many-to-many


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

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