Создаем таблицу:
id (int), user_id (int), comment (text), commentable_type (string, index), commentable_id (int, index)
И модель под нее:
class Comment extends Model
{
protected $table = 'comments';
public function commentable()
{
return $this->morphTo();
}
}
Используем как полиморфную связь в нужной нам модели:
public function comments(){
return $this->morphMany('App\Comment', 'commentable');
}
Вот и все. Все комментарии записи будут в аттрибуте comments, создавать комментарии можно обращаясь к comments(), редактировать/удалять точно так же.