@@ -29,6 +29,44 @@ public function __construct($data = [])
2929 parent ::__construct ($ data );
3030 }
3131
32+ public function access ():BelongsToMany
33+ {
34+ $ permissions = $ this ->belongsToMany (
35+ config ('permission.models.permission ' ),
36+ config ('permission.tables.role_permission_access ' ),
37+ 'permission_id ' ,
38+ 'role_id '
39+ );
40+
41+ return $ permissions ;
42+ }
43+
44+ /**
45+ * 获取(用户直接,角色)分配的权限
46+ *
47+ * @return void
48+ */
49+ public function permissions ()
50+ {
51+ return $ this ->morphMany (
52+ config ('permission.models.has_permission ' ),
53+ 'model '
54+ );
55+ }
56+
57+ /**
58+ * 删除角色所有权限
59+ *
60+ * @return void
61+ */
62+ public function revokeAllPermission ()
63+ {
64+ $ this ->permissions ()->where ('model_id ' , $ this ->id )->delete ();
65+ $ this ->access ()->detach (
66+ $ this ->access ()->column ('permission_id ' )
67+ );
68+ }
69+
3270 public function revokePermissionTo (string $ name )
3371 {
3472 $ this ->permissions ()->where ('content ' , 'in ' , $ name )->delete ();
@@ -40,7 +78,7 @@ public function revokePermissionTo(string $name)
4078 * @param integer $id
4179 * @return void
4280 */
43- public function findById (int $ id )
81+ public function getById (int $ id )
4482 {
4583 $ res = $ this ->get ($ id );
4684 return $ res ;
@@ -52,7 +90,7 @@ public function findById(int $id)
5290 * @param string $name
5391 * @return void
5492 */
55- public function findByName (string $ name )
93+ public function getByName (string $ name )
5694 {
5795 $ res = $ this ->get ([
5896 'name ' => $ name
0 commit comments