ExpertService.php 1000 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace App\Services;
  3. use App\Models\Expert;
  4. use App\Traits\PageTrait;
  5. class ExpertService
  6. {
  7. use PageTrait;
  8. public function getList($condition, $sort = 'id', $sortable = 'desc')
  9. {
  10. $query = Expert::query();
  11. $query->select(
  12. 'id',
  13. 'username',
  14. 'avatar',
  15. 'name',
  16. 'status'
  17. );
  18. // 使用 whereIn 方法筛选 lecture_id 在 $lectureIdArr 数组中的记录
  19. $query->where('is_expert', 1);
  20. // 搜索
  21. if (isset($condition['keywords']) && $condition['keywords']) {
  22. $query->where('name', 'like', '%' . $condition['keywords'] . '%');
  23. }
  24. if (isset($condition['status']) && $condition['keywords'] !== '') {
  25. $query->where('name', 'like', '%' . $condition['keywords'] . '%');
  26. }
  27. // 排序
  28. $query->orderBy($sort, $sortable);
  29. // 执行查询并返回结果
  30. return self::JsonPage($query);
  31. }
  32. }