選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

LuticatePermissionsUsersDataAccess.php 1.2KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace Luticate\Auth\DataAccess;
  3. use Luticate\Auth\DataAccess\Models\LuticateUsers;
  4. use Luticate\Utils\LuDataAccess;
  5. use Luticate\Auth\DataAccess\Models\LuticatePermissionsUsers;
  6. use Luticate\Auth\DBO\LuticatePermissionsUsersDbo;
  7. class LuticatePermissionsUsersDataAccess extends LuDataAccess {
  8. protected static function getModel()
  9. {
  10. return new LuticatePermissionsUsers();
  11. }
  12. public static function getModelByName($user_id, $permission_name)
  13. {
  14. return LuticatePermissionsUsers::where("name", "=", $permission_name)->where("user_id", "=", $user_id)->first();
  15. }
  16. public static function getAllByUser($user_id, $page = 0, $perPage = 2000000000)
  17. {
  18. return self::getMultiple(array(array('user_id', '=', $user_id)), array(array("name", "ASC")), $page, $perPage);
  19. }
  20. public static function getByName($user_id, $permission_name)
  21. {
  22. $perm = self::getModelByName($user_id, $permission_name);
  23. if (is_null($perm)) {
  24. return null;
  25. }
  26. return $perm->toDbo();
  27. }
  28. public static function delete($user_id, $permission_name)
  29. {
  30. LuticateUsers::find($user_id)->permissions()->detach($permission_name);
  31. }
  32. }