如何在Laravel中限制未读通知?

3
以下代码显示了在Laravel中已登录用户的所有未读通知:
```php $notifications = auth()->user()->unreadNotifications; ```
请注意,此代码需要在已经通过身份验证的用户上下文中运行。
auth()->user()->unreadNotifications

我将代码放入标签中,并将其绑定为未读属性,以便我的Vue组件可以访问unreads数据。

<notification :userid="{{ auth()->user()->id }}" :unreads="{{ auth()->user()->unreadNotifications }}"></notification>

一切都很顺利。

通过vue js,我可以将未读数据限制为我想要的结果数量。

但是,当我在浏览器中查看源代码时,我可以看到所有通知都被显示出来,因此,由于有很多结果,页面加载延迟。

现在,我想要限制auth()->user()->unreadNotifications,以便我可以控制要显示的结果数量。我在谷歌和laravel文档上查找,但没有找到。有人知道吗?

1个回答

7

有一个 Laravel 框架的 GitHub 问题建议您可以使用:

auth()->user()->unreadNotifications()->take(10)->get()

来源: https://github.com/laravel/framework/issues/18789

这个问题的解决方法是在.env文件中设置SESSION_DOMAIN为null。这将使Laravel使用默认的域(cookie可用的域),而不是指定的域来存储会话数据。这样做可以解决会话无法保存的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接