سلام
یک جدول نظرات داریم که در اون 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');
}
سلام
در جدول کامنت ها باید دو مقدار ippost و reply باشد .
مقدار reply بتواند null باشد .
به این صورت میتونی ارتباط برقرار کنید
همونطور که مشخصه در مقدار idpost باید id اون پست ذخیره بشه و در مقدار reply اگر قرار است پاسخ یک کامنت باشد id او کامنت قرار بگیرد
سلام به شما دوست عزیز.
فکر کنم منظور شما به صورت زیر باشه، جمله دقیق تر شما میشه:
هر user میتونه تعداد زیادی comment بذاره و هر کامنت فقط متعلق به یه user میشه، درسته؟
اگر جواب شما بله هست، پس رابطه شما میشه یک به چند.
اگر به راهنمایی بیشتری نیاز دارید، من درخدمتم.
موفق باشید.
سلام چیزی که گفتید درسته ولی من کلا یه سوال همیشه دارم ببیند من میتنونم رابطم رو به اینصورت تعریف کنم که هر user یک رابطه یک به چند داره با comment ها واز طرفی هر comment متعلق به یک user می باشد درسته خب حالا از طرفی کامنت با مثلا post ها و یه قسمت دیگه توی سایت که داریم مثلا article ها با این دوتا رابطه یک به چند مورف داره درسته خب من میتونم روابطم رو اینجوری تعریف کنم یا اینکه بگم هر user تعداد زیادی کامنت برای هر پست میتونه بزاره و از طرفی هر پست تعداد زیادی کامنت توسط user های مختلف قبول میکنه و یک رابطه چند به چند بنویسم سوال من اینه که الان توی بحث کامنت چجوری این رو باید پیاده سازی بکنم ینی روش اول درسته یا روش دوم یا هیچکدوم چجوری ؟
@rezajahangir
ببینید اگر داخل پروژه قسمت های مختلفی دارید که میخواین واسشون به کاربر این اجازه رو بدین که کامنت بذاره، مثلا قسمت course، article و ... رو دارید. راه اشتباه اینه که شما بیای واسه هر قسمت یه جدول رابط تعریف کنی، اما راه صحیح استفاده از Polymorphic Relationships است.
واسه روابط هم میشه: هر post تعداد زیادی comment داره و هر comment فقط متعلق به یک post است.
امیدوارم مفید بوده باشه.
موفق باشید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟