راکت
حل شده

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

6 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

6
فرشید مرادی
فرشید مرادی
@eniack

تخصص: noob

بهترین پاسخ

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

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

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

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

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

moha li
moha li
@mohaligateway

تخصص: توسعه دهنده لاراول و Vue

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

مهدی محمدی
مهدی محمدی
@mahdi.mh

تخصص: laravel ,php

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

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

مهدی محمدی
مهدی محمدی
@mahdi.mh

تخصص: laravel ,php

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

محمدحسن یگانه
محمدحسن یگانه
@mhyeganeh

تخصص: Full-Stack Web Developer Freelancer

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

moha li
moha li
@mohaligateway

تخصص: توسعه دهنده لاراول و Vue

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

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

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