/**
  * Store a newly created resource in storage.
  *
  * @param Request $request
  * @return array
  */
 public function store(Request $request)
 {
     $this->validate($request, ['category_id' => 'required', 'tags_id' => 'required', 'title' => 'required|max:250', 'alias' => 'required|max:250', 'description' => 'required', 'short_description' => 'required|max:1000', 'meta_description' => 'required|max:1000']);
     $article = new Articles();
     $article->fill($request->all());
     $article->user_id = Auth::user()->id;
     $article->save();
     //        $article = Auth::user()->articles()->create($request->all());
     /**
      * Check tags_id input and create tags if not number in input
      */
     $tag_ids = [];
     foreach ($request->input('tags_id') as $tag_input) {
         if (ctype_digit($tag_input)) {
             //it`s number, save to ids array
             array_push($tag_ids, $tag_input);
         } else {
             //create new tag with this input name if not exist
             $tag = Tags::where('name', $tag_input)->first();
             if (!$tag) {
                 $tag = Tags::create(['name' => $tag_input]);
             }
             array_push($tag_ids, $tag->id);
         }
     }
     $article->tags()->attach($tag_ids);
     \Flash::success('Article created');
     return redirect()->action('ArticlesController@index');
 }
Ejemplo n.º 2
0
 /**
  * Store a newly created resource in storage.
  *
  * @param Request $request
  * @return array
  */
 public function store(Request $request)
 {
     $this->validate($request, ['category_id' => 'required', 'tags_id' => 'required', 'title' => 'required|max:250', 'alias' => 'required|max:250', 'description' => 'required', 'short_description' => 'required|max:1000', 'meta_description' => 'required|max:1000']);
     $article = new Articles();
     $article->fill($request->all());
     $article->user_id = Auth::user()->id;
     $article->save();
     $tag_ids = $this->checkTags($request->input('tags_id'));
     $article->tags()->attach($tag_ids);
     if ($article->is_published == Articles::isPublished) {
         $this->sendEmails($article);
     }
     \Flash::success('Article created');
     return redirect()->action('ArticlesController@index');
 }