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

Laravel 简单的私人信息系统。如何标记为已读,laravel,eloquent,Laravel,Eloquent,我正在Laravel中构建一个应用程序,并使用雄辩的ORM 我想在我的应用程序中创建一个简单的私有消息传递系统。没什么复杂的。这基本上就像电子邮件一样。它有一个最近的,标题,内容和时间戳 我希望能够显示它是否已读/未读。如果将一列作为名为“read”的布尔值(默认值为0),则会起作用。当用户单击它时,read attirbute变为1,消息标记为read 打开消息时,我将如何更新属性。如果您没有使用Angular或react等前端框架,请向控制器函数发出ajax请求。在控制器函数中,使用ORM或

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

我想在我的应用程序中创建一个简单的私有消息传递系统。没什么复杂的。这基本上就像电子邮件一样。它有一个最近的,标题,内容和时间戳

我希望能够显示它是否已读/未读。如果将一列作为名为“read”的布尔值(默认值为0),则会起作用。当用户单击它时,read attirbute变为1,消息标记为read


打开消息时,我将如何更新属性。

如果您没有使用Angular或react等前端框架,请向控制器函数发出ajax请求。在控制器函数中,使用ORM或查询生成器更新db表。使用Ajax,您可以在不影响用户视图的情况下完成此操作。

如果您不使用Angular或react等前端框架,请向控制器函数发出Ajax请求。在控制器函数中,使用ORM或查询生成器更新db表。使用Ajax,您可以在不影响用户视图的情况下执行此操作。

如果您使用的是简单消息传递系统,请使用
read
存储一个标志。当用户单击某条消息时,获取该消息的id,并使用更新操作更新该消息,该消息使用1记录
read
,未读0

如果您正在制作简单消息系统,请使用
read
存储一个标志。当用户单击某条消息时,获取该消息的id,并使用更新操作更新该消息,该消息使用1记录
read
,未读0

Laravelish方法是在处使用名为
read_的列,如果未读,则将其设置为
NULL
,读取时设置为当前时间戳

处读取的迁移部分可能如下所示:

$table->timestamp('read_at')->nullable()->default(null);
注意:不要忘记添加
read_at
,因此使用
read_at
非常简单

Laravelish的方法是在处使用名为
read_的列,如果未读,则将其设置为
NULL
,读取时设置为当前时间戳

处读取的迁移部分可能如下所示:

$table->timestamp('read_at')->nullable()->default(null);
注意:不要忘记添加
read_at
,因此使用
read_at
非常简单



你能分享一些到目前为止你已经尝试过的代码吗?我们需要一些东西来构建我们的答案。答案很简单:当用户使用查询生成器或您的雄辩模型查看消息时,更改状态。您的想法听起来不错,但为了帮助您,我们需要看到一个实际的实现:)我不是不尊重,而是通过谷歌搜索您帖子的关键字(更新属性laravel),我找到了大量的教程来解释你想要做什么。一点也不,文档:我还没有实际的实现。我正在准备构建它。如果我有困难,我会回到这里发布一些代码。谢谢大家。你们能分享一些到目前为止你尝试过的代码吗?我们需要一些东西来构建我们的答案答案很简单:当用户使用查询生成器或您的雄辩模型查看消息时,更改状态。您的想法听起来不错,但为了帮助您,我们需要看到一个实际的实现:)我不是不尊重您,而是通过谷歌搜索您的帖子的关键字(更新属性laravel),我找到了大量的教程来解释你想做什么。一点也不,医生们:我还没有一个实际的实施方案。我现在正准备建造它。如果我还在挣扎,我会回到这里,发布一些代码。谢谢大家。为什么要用两列表示一个布尔值,消息要么已读,要么未读。。所以只使用一列。为什么一个布尔值要使用两列,消息要么已读,要么未读。。所以,只使用一列。通过这个解决方案,您可以知道消息是否以及何时被阅读。我同意这一点。至于实现:当用户被重定向到页面阅读消息时,您可以使用类似于
$message->update('read_at',Carbon::now())的方法然后继续返回下一个视图。使用此解决方案,您可以了解消息是否以及何时被读取。我同意此方法。至于实现:当用户被重定向到页面阅读消息时,您可以使用类似于
$message->update('read_at',Carbon::now())的方法然后继续返回下一个视图。虽然ajax令人惊讶,但这是一个额外的请求。如果这个人已经被重定向到新页面阅读它,那么这个值可以在该控制器中更新。如果此人已经将被重定向到新页面阅读,则该值可以在该控制器中更新。