简单的私人消息系统。如何标记为已读

时间:2018-05-08 10:55:21

标签: laravel eloquent

我在Laravel中构建应用程序,并使用雄辩的ORM。

我想在我的应用程序中创建一个简单的私人消息系统。没有什么疯狂的复杂。它基本上就像电子邮件。它有一个接收者,标题,内容和时间戳。

我希望能够显示它是否已读/未读。将列作为布尔值称为' read'其默认值为0 work。当用户点击它时,读取的attirbute变为1,并且该消息被标记为已读。

打开邮件时如何更新属性。

3 个答案:

答案 0 :(得分:1)

如果您没有使用像Angular这样的前端框架或做出反应,请向您的控制器功能发出ajax请求。在控制器功能中,使用ORM或查询生成器更新db表。使用Ajax,您可以在不影响用户视图的情况下执行此操作。

答案 1 :(得分:1)

Laravelish 方式,是使用名为read_at的列,如果未读则将其设置为NULL,并在读取时将其设置为当前时间戳。

read_at的迁移部分可能如下所示:

$table->timestamp('read_at')->nullable()->default(null);
  

注意:不要忘记将read_at添加到$dates array,因此使用read_at很容易 - 碳方式。

答案 2 :(得分:0)

如果您正在创建简单的消息传递系统,请使用read存储标记。当用户单击消息时,获取该消息的id并使用更新操作更新该记录read 1和未读0。