SettingsController.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. namespace App\Http\Controllers\Admin\Settings;
  3. use App\Http\Controllers\Admin\Controller;
  4. use App\Models\BaseSettingsModel;
  5. use Illuminate\Http\Request;
  6. use App\Repositories\Settings\Banner\Criteria\MultiWhere;
  7. use App\Repositories\Settings\SettingsRepository;
  8. use App\Repositories\Base\Criteria\OrderBy;
  9. class SettingsController extends Controller
  10. {
  11. private $repository;
  12. public function __construct(SettingsRepository $repository) {
  13. if(!$this->repository) $this->repository = $repository;
  14. }
  15. public function banner(Request $request)
  16. {
  17. $search['keyword'] = $request->input('keyword');
  18. $query = $this->repository->pushCriteria(new MultiWhere($search));
  19. $request = $request->all();
  20. if(isset($request['sort_field']) && $request['sort_field'] && isset($request['sort_field_by'])) {
  21. $query = $query->pushCriteria(new OrderBy($request['sort_field'],$request['sort_field_by']));
  22. }
  23. $list = $query->paginate();
  24. return view('admin.settings.banner.index',compact('list'));
  25. }
  26. public function bannerDestroy(Request $request)
  27. {
  28. $bool = $this->repository->destroy($request->id);
  29. if($bool) {
  30. return $this->showMessage('操作成功');
  31. }else {
  32. return $this->showWarning("操作失败");
  33. }
  34. }
  35. }