【发布时间】:2019-12-25 17:33:55
【问题描述】:
我正在使用 Laravel,并使用 laravel 创建了一个可变形的评论表。现在我想实现回复功能,以便人们可以回复 cmets。我只需要第一级的回答。因此,您可以回答评论,但不能回答评论孩子。 Facebook 上只有一级评论孩子,而不是 2 或 3 级。
我现在向您提出的问题是,这是解决此问题的最佳方法。因为在我的 laravel 视图刀片中,我正在循环浏览每条评论,并希望在这条评论上打印我的孩子 cmets(我只是不知道如何处理他的?)。
所以基本上,我想知道您将如何设计表格,如何映射它以及如何在视图中打印它。
到目前为止,这是我的桌子:
CREATE TABLE `comments` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`commentable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
`commentable_id` bigint(20) unsigned NOT NULL,
`user_id` bigint(20) unsigned NOT NULL,
`post_status_id` bigint(20) unsigned NOT NULL DEFAULT '4',
`content` text COLLATE utf8mb4_unicode_ci NOT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `comments_commentable_type_commentable_id_index` (`commentable_type`,`commentable_id`),
KEY `comments_user_id_index` (`user_id`),
KEY `comments_post_status_id_index` (`post_status_id`),
CONSTRAINT `comments_post_status_id_foreign` FOREIGN KEY (`post_status_id`) REFERENCES `post_statuses` (`id`) ON DELETE CASCADE,
CONSTRAINT `comments_user_id_foreign` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=34 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
【问题讨论】:
-
这可能会有所帮助laraveldaily.com/…
标签: php mysql sql laravel eloquent