Shop.php 875 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. namespace App\Models;
  3. use App\Repositories\Enums\ModelStatusEnum;
  4. use Illuminate\Database\Eloquent\Factories\HasFactory;
  5. use Illuminate\Database\Eloquent\Model;
  6. class Shop extends BaseModel
  7. {
  8. public static function selectOptions()
  9. {
  10. $admin = \Admin::user();
  11. $model = self::query()->where('status', ModelStatusEnum::OK);
  12. if ($admin->isAdministrator() || $admin->isRole(Admin::ROLE_FINANCE)) {
  13. return $model->pluck('name', 'id');
  14. }
  15. if ($admin->isRole(Admin::ROLE_USER)) {
  16. return $admin->shops->where('status', ModelStatusEnum::OK)->pluck('name', 'id');
  17. }
  18. }
  19. public static function shopIds()
  20. {
  21. return array_keys(self::selectOptions()->toArray());
  22. }
  23. public function byIdGetName($id)
  24. {
  25. return self::query()->where('id', $id)->value('name');
  26. }
  27. }