Permission.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. namespace App\Models;
  3. use Illuminate\Database\Eloquent\Model;
  4. use App\Models\Interfaces\AdminPermissionInterface;
  5. use App\Models\Traits\AdminPermissionTrait;
  6. class Permission extends Model implements AdminPermissionInterface
  7. {
  8. use AdminPermissionTrait;
  9. protected $table = 'admin_permissions';
  10. public function roleToIds()
  11. {
  12. $roles =$this->roles;
  13. $ids = [];
  14. if (count($roles) > 0) {
  15. foreach ($roles as $role) {
  16. if (is_object($role)) {
  17. $ids[] = $role->id;
  18. } else if (is_array($role) && isset ($role['id'])) {
  19. $ids[] = $role['id'];
  20. }
  21. }
  22. }
  23. return $ids;
  24. }
  25. public function menuToIds()
  26. {
  27. $menus = $this->menus;
  28. $ids = [];
  29. if (count($menus) > 0) {
  30. foreach ($menus as $menu) {
  31. if (is_object($menu)) {
  32. $ids[] = $menu->id;
  33. } else if (is_array($menu) && isset ($menu['id'])) {
  34. $ids[] = $menu['id'];
  35. }
  36. }
  37. }
  38. return $ids;
  39. }
  40. }