PositionController.php 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Models\Position;
  4. use Illuminate\Http\Request;
  5. use App\Http\Controllers\Controller;
  6. class PositionController extends Controller
  7. {
  8. /**
  9. * Display a listing of the resource.
  10. *
  11. * @return \Illuminate\Http\Response
  12. */
  13. public function index()
  14. {
  15. return view('admin.position.index');
  16. }
  17. public function data(Request $request)
  18. {
  19. $res = Position::orderBy('sort','desc')->orderBy('id','desc')->paginate($request->get('limit',30))->toArray();
  20. $data = [
  21. 'code' => 0,
  22. 'msg' => '正在请求中...',
  23. 'count' => $res['total'],
  24. 'data' => $res['data']
  25. ];
  26. return response()->json($data);
  27. }
  28. /**
  29. * Show the form for creating a new resource.
  30. *
  31. * @return \Illuminate\Http\Response
  32. */
  33. public function create()
  34. {
  35. return view('admin.position.create');
  36. }
  37. /**
  38. * Store a newly created resource in storage.
  39. *
  40. * @param \Illuminate\Http\Request $request
  41. * @return \Illuminate\Http\Response
  42. */
  43. public function store(Request $request)
  44. {
  45. $this->validate($request,[
  46. 'name' => 'required|string',
  47. 'sort' => 'required|numeric'
  48. ]);
  49. if (Position::create($request->all())){
  50. return redirect(route('admin.position'))->with(['status'=>'添加完成']);
  51. }
  52. return redirect(route('admin.position'))->with(['status'=>'系统错误']);
  53. }
  54. /**
  55. * Display the specified resource.
  56. *
  57. * @param int $id
  58. * @return \Illuminate\Http\Response
  59. */
  60. public function show($id)
  61. {
  62. //
  63. }
  64. /**
  65. * Show the form for editing the specified resource.
  66. *
  67. * @param int $id
  68. * @return \Illuminate\Http\Response
  69. */
  70. public function edit($id)
  71. {
  72. $position = Position::findOrFail($id);
  73. if (!$position){
  74. return redirect(route('admin.position'))->withErrors(['status'=>'分类不存在']);
  75. }
  76. return view('admin.position.edit',compact('position'));
  77. }
  78. /**
  79. * Update the specified resource in storage.
  80. *
  81. * @param \Illuminate\Http\Request $request
  82. * @param int $id
  83. * @return \Illuminate\Http\Response
  84. */
  85. public function update(Request $request, $id)
  86. {
  87. $this->validate($request,[
  88. 'name' => 'required|string',
  89. 'sort' => 'required|numeric'
  90. ]);
  91. $position = Position::findOrFail($id);
  92. if ($position->update($request->only(['name','sort']))){
  93. return redirect(route('admin.position'))->with(['status'=>'更新成功']);
  94. }
  95. return redirect(route('admin.position'))->withErrors(['status'=>'系统错误']);
  96. }
  97. /**
  98. * Remove the specified resource from storage.
  99. *
  100. * @param int $id
  101. * @return \Illuminate\Http\Response
  102. */
  103. public function destroy(Request $request)
  104. {
  105. $ids = $request->get('ids');
  106. if (empty($ids)){
  107. return response()->json(['code'=>1,'msg'=>'请选择删除项']);
  108. }
  109. $position = Position::with('adverts')->find($ids);
  110. if (!$position){
  111. return response()->json(['code'=>1,'msg'=>'数据不存在']);
  112. }
  113. if (!$position->adverts->isEmpty()){
  114. return response()->json(['code'=>1,'msg'=>'该广告位下存在广告信息,不能删除']);
  115. }
  116. if ($position->delete()){
  117. return response()->json(['code'=>0,'msg'=>'删除成功']);
  118. }
  119. return response()->json(['code'=>1,'msg'=>'删除失败']);
  120. }
  121. }