Ejemplo n.º 1
0
 public function store(Request $request)
 {
     $rules = array('image' => 'required|image|mimes:jpeg,jpg,png,bmp,gif,svg', 'title' => 'required', 'content' => 'required', 'category' => 'required_without:newCategory', 'newCategory' => 'required_without:category');
     $validator = \Validator::make(\Input::all(), $rules);
     if ($validator->fails()) {
         return redirect()->back()->withInput()->withErrors($validator);
     }
     if ($request->has('newCategory') && !Category::where('title', '=', $request->input('title'))->first()) {
         $category = new Category(["title" => $request->input('newCategory')]);
         $category->save();
     } else {
         if (Category::find($request->input('category'))) {
             $category = Category::find($request->input('category'));
         } else {
             return redirect()->back()->withInput()->withErrors([trans('news.category')]);
         }
     }
     $newFilename = $this->saveNewsImage($request->file('image'));
     $news = new \App\Models\News\News(["title" => $request->input('title'), "content" => $request->input('content'), "author_id" => \Auth::user()->id, "image" => $newFilename]);
     $news->save();
     $news->categories()->save($category);
     return redirect('/news/' . $news->id . '-' . sluggify($news->title));
 }