راکت
ftp
ftp
توسط ftp مطرح شد
حل
5 پاسخ

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

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


ثبت پرسش جدید
رضا پارسیان
رضا پارسیان
تخصص :توسعه دهنده Php , Laravel
@Rp765 سال پیشمطرح شد
0

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

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

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

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
تخصص :ساده
@ftp5 سال پیشمطرح شد
0

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

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

public function services()
{
    return $this->belongsToMany(Service::class,'products_providers','product_id','provider_id');
}

رضا پارسیان
رضا پارسیان
تخصص :توسعه دهنده Php , Laravel
@Rp765 سال پیشمطرح شد
0

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


ftp
ftp
تخصص :ساده
@ftp5 سال پیشمطرح شد
0

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


رضا پارسیان
رضا پارسیان
تخصص :توسعه دهنده Php , Laravel
@Rp765 سال پیشمطرح شد
0

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


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

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