问题描述
在我的 Laravel API(云创意)中,我有一个报告资源,这个资源有一个名为 created_user
的字段。所有用户都具有 admin
、level1
、level2
和 level3
等角色。我想在所有操作(索引、读取、过滤、排序...)中实现这一点。
level1
和level2
只能看到level1
、level2
和level3
的报告。而level3
只能看到他的报告。
所以,我需要添加一个 join
和一个 where
。无论如何,我不知道如何实现它以及我必须使用哪个功能。换句话说,我需要做一个查询来选择一些报告。
我必须实现哪个功能?在适配器?特定的控制器?请问你能写出函数吗?
我不是在谈论过滤器。非常感谢!
解决方法
您可以实现逻辑以使用 Eloquent's scopes feature 排除某些报告。范围可以应用于使用 Laravel JSON:API Adapter
的查询。这在 Laravel JSON:API 的 Adapter documentation 的 scope 章节中有详细讨论。