Php 修改站点以允许匿名评论的最佳方法

Php 修改站点以允许匿名评论的最佳方法,php,mysql,laravel,Php,Mysql,Laravel,现在我有了一个表“comments”,其中“user_id”列作为外键。此列有一个约束-关于更新级联,关于删除级联 第一种(不好的)方法是删除“user_id”列的约束。在这种情况下,我们失去了与“users”表的连接,但所有代码都保持不变 第二种(也是不好的)方法是再创建一个表“anonymous_comments”。新的模型,新的观察者,管理面板中的新章节,需要在许多地方修改代码。。。许多人工作和双打 有更好的主意吗?如果你不想(或由于某种原因不能)修改数据库和代码,你可以创建一个虚拟用户“

现在我有了一个表“comments”,其中“user_id”列作为外键。此列有一个约束-
关于更新级联,关于删除级联

第一种(不好的)方法是删除“user_id”列的约束。在这种情况下,我们失去了与“users”表的连接,但所有代码都保持不变

第二种(也是不好的)方法是再创建一个表“anonymous_comments”。新的模型,新的观察者,管理面板中的新章节,需要在许多地方修改代码。。。许多人工作和双打


有更好的主意吗?

如果你不想(或由于某种原因不能)修改数据库和代码,你可以创建一个虚拟用户“匿名”,并使用它的
user\u id
进行匿名评论。

那么在评论加载时使用连接查询用户表有什么问题吗?评论加载没有问题。注释管理-这是一个问题。外键列允许您插入空值。为什么不为匿名评论的user\u id列插入null?在这种情况下,如果删除该用户,我们将丢失所有“匿名”评论(例如,错误)。@SlowSuperman dude,您可以错误地删除所有DBs。只需在用户删除方法中添加check,如
if($user->id=78){return false;}
好主意。例如,MySQL是否有相同的方法阻止删除id为“0”的行?@SlowSuperman我不确定,抱歉。我只想在现有代码中添加一些小检查。