在 cloudcreativiy/json-api - laravel 中添加查询

问题描述

在我的 Laravel API(云创意)中,我有一个报告资源,这个资源有一个名为 created_user 的字段。所有用户都具有 adminlevel1level2level3 等角色。我想在所有操作(索引、读取、过滤、排序...)中实现这一点。

level1level2 只能看到level1level2level3 的报告。而level3只能看到他的报告。

所以,我需要添加一个 join一个 where。无论如何,我不知道如何实现它以及我必须使用哪个功能。换句话说,我需要做一个查询来选择一些报告。

我必须实现哪个功能?在适配器?特定的控制器?请问你能写出函数吗?

我不是在谈论过滤器。非常感谢!

解决方法

您可以实现逻辑以使用 Eloquent's scopes feature 排除某些报告。范围可以应用于使用 Laravel JSON:API Adapter 的查询。这在 Laravel JSON:API 的 Adapter documentationscope 章节中有详细讨论。