VaccineController.php 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: zilongs
  5. * Date: 20-10-4
  6. * Time: 下午8:32
  7. */
  8. namespace App\Http\Controllers\Api\V1;
  9. use App\Models\Vaccine;
  10. class VaccineController extends AuthController
  11. {
  12. public function vaccineList()
  13. {
  14. $req = request()->post();
  15. $this->validate(request(), [
  16. 'name' => 'max:50',
  17. 'type' => 'in:0,1,2',
  18. 'sort_type' => 'in:0,1,2',
  19. ]);
  20. $builder = Vaccine::select(['id', 'type', 'price', 'name', 'remark', 'supplier']);
  21. if (!empty($req['type'])) {
  22. $builder->where('type', $req['type']);
  23. }
  24. if (!empty($req['name'])) {
  25. $builder->where('name', 'like', '%'.$req['name'].'%');
  26. }
  27. if (!empty($req['sort_type'])) {
  28. if ($req['sort_type'] == 1) {
  29. $builder->orderBy('price', 'asc');
  30. }
  31. elseif ($req['sort_type'] == 2) {
  32. $builder->orderBy('price', 'desc');
  33. }
  34. }
  35. $data = $builder->paginate();
  36. return out($data);
  37. }
  38. }