You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

LuticateUsersDataAccess.php 1.1KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace Luticate\Auth\DataAccess;
  3. use Luticate\Utils\LuDataAccess;
  4. use Luticate\Auth\DataAccess\Models\LuticateUsers;
  5. use Luticate\Auth\DBO\LuticateUsersDbo;
  6. class LuticateUsersDataAccess extends LuDataAccess {
  7. protected static function getModel()
  8. {
  9. return new LuticateUsers();
  10. }
  11. protected static function getOrderBy()
  12. {
  13. return array(array("username", "ASC"));
  14. }
  15. protected static function getQueryPredicate($query)
  16. {
  17. return array(array("username", "ilike", "%" . $query . "%", "or"),
  18. array("firstname", "ilike", "%" . $query . "%", "or"),
  19. array("lastname", "ilike", "%" . $query . "%", "or"),
  20. array("email", "ilike", "%" . $query . "%", "or"));
  21. }
  22. /**
  23. * @param $username string
  24. * @return LuticateUsersDbo|null
  25. */
  26. public static function getByUsernameOrEmail($username)
  27. {
  28. $user = LuticateUsers::where("username", "=", $username)->orWhere("email", "=", $username)->first();
  29. if (is_null($user))
  30. return null;
  31. return $user->toDbo();
  32. }
  33. }