راکت
حل شده

من یک رابطه n به n دارم

5 پاسخ

@mohaligateway
@muhammad
@Rp76
@juza66
@ali.bayat
من یک رابطه n به n دارم
سه جدول محصول و سرویس و جدول واسط دارم
الان چطوری میتونم وقتی که محصولی رو ادیت میکنم بفهمم که سرویسش چیه؟ چون در رابطه n to n هر محصول داری چند سرویس و برعکس هست و در جدول واسط من دو کلید service_id , mahsol_id دارم؟
از کجا بفهمم که محصولی که ادیت میکنم سرویسش کدومه؟

ثبت پرسش جدید

پاسخ‌ها

5
رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

بهترین پاسخ

سلام وقتتون بخیر!

مگر نباید همه سرویس هاش رو لیست کنید؟

من که کد هارو ندید ولی اگر فرض کنیم رابطه ها به این صورت باشند

public function mahsols(){
    return $this->belongstomany(Service::class,"pivot_table");
}

public function services(){
    return $this->belongstomany(Mahsol::class,"pivot_table");
}

به این صورت میتونی محصولات یک سرویس یا سرویس های یک محصول رو در بیاری

$mahsol=Mahsol::with("services")->first();
$service=Service::with("mahsols")->fisrt();
ftp
ftp
@ftp

تخصص: ساده

@Rp76
خوب اگه چند تا بود از کجا میفهمیم که این سرویس برای این محصول هست

این مدل محصول هست

public function services()
{
    return $this->belongsToMany(Service::class,'products_providers','product_id','provider_id');
}
رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

چند تا برمیگرده چون n به n هست رابطه و همه سرویس ها یا محصولات برای یک محصول یا سرویس هست

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

ftp
ftp
@ftp

تخصص: ساده

@Rp76
یعنی در جدول واسط همه سرویسها برای یک محصول یا همه محصولات برای یک سرویس هست درسته

رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

اره
با این رابطه شما همه سرویس هایی رو میاری که به اون محصول خاص ربط داره
یا برعکس

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

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