ClassController.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace App\Http\Controllers\Admin\Base;
  3. use Illuminate\Http\Request as HttpRequest;
  4. use App\Http\Controllers\Admin\Controller;
  5. use App\Models\ClassModel;
  6. use App\Models\BaseAttachmentModel;
  7. use Request, Response, Validator, File;
  8. class ClassController extends Controller
  9. {
  10. public function add(HttpRequest $request)
  11. {
  12. if(! $request->has('class') || Request::method() != 'POST') {
  13. return back();
  14. }
  15. $validator = Validator::make($request->all(), [
  16. 'class' => 'required|string|max:100|unique:classes,class',
  17. ]);
  18. if($validator->fails()) {
  19. $validator->errors()->add('my-error', '分类已存在!');
  20. return back()->withErrors($validator)->withInput();
  21. }
  22. $class = new ClassModel;
  23. $class->class = $request->input('class');
  24. if(! $class->save()) {
  25. $validator->errors()->add('my-error', '添加分类失败!');
  26. return back()->withErrors($validator)->withInput();
  27. }
  28. return back();
  29. }
  30. public function delete(HttpRequest $request)
  31. {
  32. if(Request::method() != 'POST') {
  33. return back();
  34. }
  35. $class = null;
  36. if($request->has('class') && ($class = ClassModel::find($request->input('class'))) != null) {
  37. if($class->class == '未分类') {
  38. return back();
  39. }
  40. $photos = BaseAttachmentModel::where('class', $class->class)->get();
  41. foreach($photos as $photo) {
  42. File::delete($photo->path);
  43. $photo->delete();
  44. }
  45. $class->delete();
  46. }
  47. return redirect('admin/Base/Photos/index');
  48. }
  49. }