我在Laravel中构建应用程序,并使用雄辩的ORM。
我想在我的应用程序中创建一个简单的私人消息系统。没有什么疯狂的复杂。它基本上就像电子邮件。它有一个接收者,标题,内容和时间戳。
我希望能够显示它是否已读/未读。将列作为布尔值称为' read'其默认值为0 work。当用户点击它时,读取的attirbute变为1,并且该消息被标记为已读。
打开邮件时如何更新属性。
答案 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。