TaskConditionRepository.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. namespace App\Module\Task\Repositorys;
  3. use App\Module\Task\Models\TaskCondition;
  4. use Dcat\Admin\Repositories\EloquentRepository;
  5. /**
  6. * 任务条件数据仓库类
  7. *
  8. * 提供任务条件数据的访问和操作功能。
  9. * 该类是任务条件模块与后台管理系统的桥梁,用于处理任务条件数据的CRUD操作。
  10. */
  11. class TaskConditionRepository extends EloquentRepository
  12. {
  13. /**
  14. * 关联的Eloquent模型类
  15. *
  16. * @var string
  17. */
  18. protected $eloquentClass = TaskCondition::class;
  19. /**
  20. * 获取所有激活的条件
  21. *
  22. * @return array 条件列表
  23. */
  24. public function getActiveConditions(): array
  25. {
  26. return $this->eloquentClass::where('is_active', true)
  27. ->orderBy('id')
  28. ->get()
  29. ->toArray();
  30. }
  31. /**
  32. * 根据条件代码获取条件
  33. *
  34. * @param string $code 条件代码
  35. * @return TaskCondition|null 条件对象
  36. */
  37. public function getByCode(string $code): ?TaskCondition
  38. {
  39. return $this->eloquentClass::where('code', $code)
  40. ->where('is_active', true)
  41. ->first();
  42. }
  43. }