GameConditionGroupRepository.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace App\Module\Game\Repositories;
  3. use App\Module\Game\Models\GameConditionGroup;
  4. use Dcat\Admin\Repositories\EloquentRepository;
  5. /**
  6. * 条件组仓库
  7. *
  8. * 提供条件组数据的访问和操作功能。
  9. * 该类是条件组模块与后台管理系统的桥梁,用于处理条件组数据的CRUD操作。
  10. */
  11. class GameConditionGroupRepository extends EloquentRepository
  12. {
  13. /**
  14. * 模型类名
  15. *
  16. * @var string
  17. */
  18. protected $eloquentClass = GameConditionGroup::class;
  19. /**
  20. * 根据编码获取条件组
  21. *
  22. * @param string $code
  23. * @return GameConditionGroup|null
  24. */
  25. public function findByCode(string $code): ?GameConditionGroup
  26. {
  27. return GameConditionGroup::where('code', $code)->first();
  28. }
  29. /**
  30. * 获取所有条件组的编码和名称
  31. *
  32. * @return array
  33. */
  34. public function getCodesAndNames(): array
  35. {
  36. return GameConditionGroup::pluck('name', 'code')->toArray();
  37. }
  38. /**
  39. * 获取指定逻辑类型的条件组
  40. *
  41. * @param int $logicType
  42. * @return array
  43. */
  44. public function findByLogicType(int $logicType): array
  45. {
  46. return GameConditionGroup::where('logic_type', $logicType)->get()->toArray();
  47. }
  48. }