مهدی محمدی
3 سال پیش توسط مهدی محمدی مطرح شد
6 پاسخ

رابطه hasMany مدل با خودش

سلام
فرض کنید user ها قراره با خودشون ارتباط hasMany داشته باشن ؟
چطور پیاده سازی کنم ؟
چطور یه رابطه toMany برای یک مدل با خوش داشته باشم ؟


ثبت پرسش جدید
فرشید مرادی
تخصص : noob
@eniack 3 سال پیش مطرح شد
1

@web.mahdi
سلام ، ابتدا باید یک فیلد parent داخل جدول users اضافه کنید که اشاره میکنه به آی دی کاربری که دعوت کرده

$table->integer('parent')->default(0);

سپس داخل مدل users این کد رو اضافه کنید

 public function child()
    {
        return $this->hasMany(User::class , "parent" , "id");
    }

که میگه آی users با فیلد parent رابطه یک به چند دارن


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 3 سال پیش مطرح شد
0

سلام دوست عزیز منظورتون چیه با خودشون ارتباط داشته باشن ؟ منظورتون usermetas هستش؟🤔


مهدی محمدی
تخصص : laravel ,php
@mahdi.mh 3 سال پیش مطرح شد
0

ببین من نیاز یه سیستم دعوتنامه تو ربات تلگرام درست کنم
پس هر user میتونه user هایی رو دعوت کرده باشه
پس باید یه جدول رابط باشه تا بتونم user های دعوت شده رو با user دعوت کننده رابطه بدم


مهدی محمدی
تخصص : laravel ,php
@mahdi.mh 3 سال پیش مطرح شد
0

کسی نبود کمک کنه ؟


فرشید مرادی
تخصص : noob
@eniack 3 سال پیش مطرح شد
1

@web.mahdi
سلام ، ابتدا باید یک فیلد parent داخل جدول users اضافه کنید که اشاره میکنه به آی دی کاربری که دعوت کرده

$table->integer('parent')->default(0);

سپس داخل مدل users این کد رو اضافه کنید

 public function child()
    {
        return $this->hasMany(User::class , "parent" , "id");
    }

که میگه آی users با فیلد parent رابطه یک به چند دارن


محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 3 سال پیش مطرح شد
1

روش پیاده سازیش تفاوتی با حالت‌ معمولی نداره و همون طوری که بالا اشاره شد اول یک فیلد در جدول users ایجاد می کنید و بعد هر دو نوع روابطتون (belongsTo و hasMany) رو داخل مدل User می‌نویسید.


moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 3 سال پیش مطرح شد
1

سلام @mhyeganeh
دوستمون @farshid.moradi199658 درست می گن. میشه از این روش استفاده کرد ولی فکر می کنید چند درصد از کاربراتون این ستون رو پر می کنن ؟ به نظر من میشه از یه جدول دیگه استفاده کرد و یا از usermetas استفاده کرد. اینطوری حجم جدول کاربری به نظرم زیاد میشه.
@web.mahdi
@ali.bayat


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

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