我在laravel中实现了一个应用程序,我想在其中添加记录规则安全功能。
故事是管理员选择系统中的资源(对象类型)以及一些用户角色(组),然后为该资源(对象类型)指定操作规则。因此,如果用户具有某些资源的更新权限,则他仅限于更新与该规则匹配的记录。
我可以让管理员在每个规则的textarea内以原始sql格式编写域。但是为了更加用户友好性更好地显示资源表的列名和关于数据库中的外键列表与此资源表有关系的表因为管理员可以指定这样的规则例如:
[resource.parent.user_id = user.id]
我可以通过以下方式获取表格列:
Schema::getColumnListing('users')
除了上述内容之外,我希望是这样的:
Schema::getChildTables('users');
和
Schema::getParentTables('users')
和
Schema::getTablesWithManyToManyRelation('users')
和输出:
[
'courses',
'posts',
...
]
我的问题是,我们是否在Laravel Eloquent中有这样的东西,或者我们应该在路上看演出? ;)
提前谢谢你。 :)