php - 在 Laravel Nova 中的 indexQuery 上使用多对多关系
问题描述
我试图弄清楚如何在 Laravel Nova 中过滤结果,特别是在indexQuery方法上。
我有以下表格:
- 项目(ID、标题)
- 用户(ID、姓名、...)
- Projects_Users (Project_Id, User_Id)
因此,在我的项目资源上,我只想返回属于当前登录User的项目。
我想也许这段代码会起作用,但事实并非如此。
/**
* Build an "index" query for the given resource.
*
* @param \Laravel\Nova\Http\Requests\NovaRequest $request
* @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder
*/
public static function indexQuery(NovaRequest $request, $query)
{
$user_id = $request->user()->id;
return $query->whereRelation('projects_users', 'user_id', '=', $user_id);
}
有谁知道如何实现这一目标?
解决方案
推荐阅读
- c# - 嵌套继承对象的模型绑定.Net核心
- javascript - What do I do to user data that is currently not verified?
- angular - 在Angular中使用httpClient获取数据时如何显示微调器?
- php - 返回点类型 PSQL 和 DOCTRINE
- google-apps-script - 如果单元格与文件夹 ID 匹配,则将工作表复制到文件夹 - 应用程序脚本
- scala - spark.streaming.receiver.maxRate 是否应用于读取 csv 文件的 Spark Streaming readStreams?
- javascript - 如何减少空间
- python - 尝试创建一个返回两个 3x3 矩阵之和的函数
- android - 如何在recyclerview中从第一个元素滚动到第二个元素
- javascript - 无法从网页将数据设置到 Cloud Firestore