Skip to content

Commit 54ad034

Browse files
committed
Added few roles relations
1 parent 60c325c commit 54ad034

File tree

3 files changed

+18
-3
lines changed

3 files changed

+18
-3
lines changed

src/Helpers/Helpers.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,13 @@ function updateAccess(array $data, string $model, array $permission_ids = []) :
114114
}
115115
}
116116

117+
function fetchRolePermissions(int $role_id) : Object
118+
{
119+
$role_permissions = \Obrainwave\AccessTree\Models\RoleHasPermission::where('role_id', $role_id)->with(['permission', 'role'])->get();
120+
121+
return $role_permissions;
122+
}
123+
117124
function createUserRole(array $roles, int $user_id) : String
118125
{
119126
foreach($roles as $role)
@@ -254,17 +261,17 @@ function fetchRoles(int $status = null) : Object
254261
{
255262
if($status == null)
256263
{
257-
$roles = \Obrainwave\AccessTree\Models\Role::get();
264+
$roles = \Obrainwave\AccessTree\Models\Role::with('rolePermissions.permission')->get();
258265
}else{
259-
$roles = \Obrainwave\AccessTree\Models\Role::where('status', $status)->get();
266+
$roles = \Obrainwave\AccessTree\Models\Role::with('rolePermissions.permission')->where('status', $status)->get();
260267
}
261268

262269
return $roles;
263270
}
264271

265272
function fetchRole(int $role_id) : Object | null
266273
{
267-
$role = \Obrainwave\AccessTree\Models\Role::find($role_id);
274+
$role = \Obrainwave\AccessTree\Models\Role::where('id', $role_id)->with('rolePermissions.permission')->first();
268275

269276
return $role ?? null;
270277
}

src/Models/Role.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,17 @@
55
use Illuminate\Database\Eloquent\Factories\HasFactory;
66
use Illuminate\Database\Eloquent\Model;
77

8+
use \Obrainwave\AccessTree\Models\RoleHasPermission;
9+
810
class Role extends Model
911
{
1012
use HasFactory;
1113

1214
// Disable Laravel's mass assignment protection
1315
protected $guarded = [];
16+
17+
public function rolePermissions()
18+
{
19+
return $this->hasMany(RoleHasPermission::class);
20+
}
1421
}

src/Models/RoleHasPermission.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,5 @@ public function role()
2424
{
2525
return $this->belongsTo(Role::class, 'role_id');
2626
}
27+
2728
}

0 commit comments

Comments
 (0)