laravel - 如何使用 Laravel 显示数据库通知?
问题描述
我想显示属于单个用户的所有通知。CandidateNotificationsController.php 文件:
public function index()
{
$notifications = Auth::user()->notifications();
return response()->json($notifications, 200);
}
但是当我dd(Auth::user());
得到的只是用户时,那里没有通知表关系。
use Illuminate\Notifications\Notifiable;
通过将and添加到我的用户模型中,我已经成功地创建了通知,use Notifiable;
但是我在获取和显示它们时遇到了麻烦。
我很困惑,我是否需要创建一个 Notifications.php 模型,然后创建 Notifications 和 Users 之间的关系?我认为这是默认使用 Laravel 完成的?
解决方案
您可以使用以下User::$notifications
属性访问通知集合:
$notifications = Auth::user()->notifications;
通过使用该User::notifications()
方法,您将获得一个Eloquent 查询构建器的实例,您可以在实际从数据库中获取它们之前使用它来进一步约束关系的结果:
$notifications = Auth::user()->notifications()->limit(5); // Will limit the SQL query to 5 results
推荐阅读
- python - 如何将 Delaunay 三角剖分复制到新点?
- praat - 是否可以在 praat 中自动添加层级
- jquery - 使用 jquery 在 cakephp 2.x 中创建动态下载 html 链接
- c# - C# ASP.NET:如何为每种方法自动解码我的不记名令牌?
- apache-spark - Apache Spark:如何从 hdfs 文件中读取
- keras - 使用 Keras,构建 CNN 模型对图像进行分类
- javascript - 将 webpack 与 react 一起使用时出现错误
- php - 使用 json 编码的 php 数组中的 Google 图表
- ios - NavigationController 在以编程方式呈现后在 Swift 中为零
- javascript - React Native - 数组对象到 AsyncStorage