public function store(Request $request) { $this->validate($request, ['name' => 'required', 'description' => '', 'unique_id' => 'required|unique:stations,unique_id', 'lat' => 'required', 'lng' => 'required']); $station = new \App\Station(); $station->name = $request->input('name'); $station->description = $request->input('description', ''); $station->unique_id = $request->input('unique_id'); $station->lat = $request->input('lat'); $station->lng = $request->input('lng'); $station->user_id = $request->user()->id; $station->save(); $tags = []; foreach ($request->get('tags', []) as $tag) { if ($tag == "") { continue; } $t = \App\Tag::where('name', $tag)->first(); if (!$t) { $t = new \App\Tag(); $t->name = strtolower($tag); $t->save(); } $tags[] = $t->id; } $station->tags()->sync(array_unique($tags)); return redirect('backend/stations/' . $station->id); }