ارتباط ها در لارول

1 هفته پیش توسط رضا جهانگیر آپدیت شد
آفلاین
user-avatar
مهدی ( 5129 تجربه )
2 هفته پیش

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
محمد رضا ( 178640 تجربه )
2 هفته پیش
تخصص : Laravel

لینک کوتاه اشتراک گذاری

2

سلام
یک جدول نظرات داریم که در اون id کاربر و id مقاله رو ثبت میکنی
و در داخل جدول نظرات یک فیلد اضافه میکنیم parentid که با خودش رابطه داره و میتونه null باشه
کد مایگریشن

            $table->id();

 $table->unsignedBigInteger('user_id');
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

   $table->unsignedBigInteger('post_id');
            $table->foreign('post_id')->references('id')->on('posts')->onDelete('cascade');

            $table->boolean('approved')->default(0);

            $table->text('comment');
            $table->unsignedInteger('parent_id')->default(0);
$table->timestamps();

کد مدل

   public function user()
    {
        return $this->belongsTo(User::class);
    }

    public function child()
    {
        return $this->hasMany(Comment::class , 'parent_id' , 'id');
    }

@MM20001378

آفلاین
user-avatar
گمنام ( 34842 تجربه )
2 هفته پیش
تخصص : طراح وب ، برنامه نویس

لینک کوتاه اشتراک گذاری

0

سلام
در جدول کامنت ها باید دو مقدار ippost و reply باشد .
مقدار reply بتواند null باشد .
به این صورت میتونی ارتباط برقرار کنید

آفلاین
user-avatar
گمنام ( 34842 تجربه )
2 هفته پیش
تخصص : طراح وب ، برنامه نویس

لینک کوتاه اشتراک گذاری

0

همونطور که مشخصه در مقدار idpost باید id اون پست ذخیره بشه و در مقدار reply اگر قرار است پاسخ یک کامنت باشد id او کامنت قرار بگیرد

آفلاین
user-avatar
رضا جهانگیر ( 21320 تجربه )
1 هفته پیش
تخصص : برنامه نویس PHP و Laravel

لینک کوتاه اشتراک گذاری

0

سلام به شما دوست عزیز.
فکر کنم منظور شما به صورت زیر باشه، جمله دقیق تر شما میشه:
هر user میتونه تعداد زیادی comment بذاره و هر کامنت فقط متعلق به یه user میشه، درسته؟
اگر جواب شما بله هست، پس رابطه شما میشه یک به چند.
اگر به راهنمایی بیشتری نیاز دارید، من درخدمتم.
موفق باشید.

آفلاین
user-avatar
مهدی ( 5129 تجربه )
1 هفته پیش

لینک کوتاه اشتراک گذاری

0

سلام چیزی که گفتید درسته ولی من کلا یه سوال همیشه دارم ببیند من میتنونم رابطم رو به اینصورت تعریف کنم که هر user یک رابطه یک به چند داره با comment ها واز طرفی هر comment متعلق به یک user می باشد درسته خب حالا از طرفی کامنت با مثلا post ها و یه قسمت دیگه توی سایت که داریم مثلا article ها با این دوتا رابطه یک به چند مورف داره درسته خب من میتونم روابطم رو اینجوری تعریف کنم یا اینکه بگم هر user تعداد زیادی کامنت برای هر پست میتونه بزاره و از طرفی هر پست تعداد زیادی کامنت توسط user های مختلف قبول میکنه و یک رابطه چند به چند بنویسم سوال من اینه که الان توی بحث کامنت چجوری این رو باید پیاده سازی بکنم ینی روش اول درسته یا روش دوم یا هیچکدوم چجوری ؟
@rezajahangir

آفلاین
user-avatar
رضا جهانگیر ( 21320 تجربه )
1 هفته پیش
تخصص : برنامه نویس PHP و Laravel

لینک کوتاه اشتراک گذاری

0

ببینید اگر داخل پروژه قسمت های مختلفی دارید که میخواین واسشون به کاربر این اجازه رو بدین که کامنت بذاره، مثلا قسمت course، article و ... رو دارید. راه اشتباه اینه که شما بیای واسه هر قسمت یه جدول رابط تعریف کنی، اما راه صحیح استفاده از Polymorphic Relationships است.
واسه روابط هم میشه: هر post تعداد زیادی comment داره و هر comment فقط متعلق به یک post است.
امیدوارم مفید بوده باشه.
موفق باشید.

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.