/** * 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'); }
/** * 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'); }