示例#1
0
 public function store(Request $request)
 {
     /*       dd($request->all());*/
     $rules = $this->rules($request->all());
     if ($rules['input-multi-dates-format'] == 'error') {
         return Redirect::back()->withInput()->withErrors('hola');
     }
     if ($request->input('datestype') == 'single-date') {
         $datestype = 1;
     } elseif ($request->input('datestype') == 'interval-dates') {
         $datestype = 2;
     } elseif ($request->input('datestype') == 'multi-dates') {
         $datestype = 3;
     } else {
         return Redirect::back()->withInput()->withErrors('hola');
     }
     $this->validate($request, $rules);
     $post = new Post();
     $post->title = $request->input('title');
     $post->location = $request->input('location');
     $post->content = $request->input('content');
     $post->lat = $request->input('lat');
     $post->lng = $request->input('lng');
     $post->url = $request->input('url');
     $post->datestype = $datestype;
     $post->user_id = Auth::user()->id;
     $post->save();
     if ($datestype == 1) {
         $date = new Date();
         $date->post_id = $post->id;
         $datetime = DateTime::createFromFormat('d/m/y', $request->input('input-single-date'));
         $date->date = $datetime->format('Y-m-d');
         $date->save();
     } elseif ($datestype == 2) {
         $date = new Date();
         $datetime = DateTime::createFromFormat('d/m/y', $request->input('input-from-date'));
         $date->post_id = $post->id;
         $date->date = $datetime->format('Y-m-d');
         $date->save();
         $date = new Date();
         $datetime = DateTime::createFromFormat('d/m/y', $request->input('input-to-date'));
         $date->post_id = $post->id;
         $date->date = $datetime->format('Y-m-d');
         $date->save();
     } elseif ($datestype == 3) {
         $dates = array_map('trim', explode(',', $request->input('input-multi-dates')));
         foreach ($dates as $key => $val) {
             $date = new Date();
             $datetime = DateTime::createFromFormat('d/m/y', $val);
             $date->post_id = $post->id;
             $date->date = $datetime->format('Y-m-d');
             $date->save();
         }
     }
     if ($request->input('tags')) {
         foreach ($request->input('tags') as $tagname) {
             $tag = Tag::firstOrCreate(['name' => $tagname]);
             $post->tags()->attach($tag);
         }
     }
     return Redirect::route('single', [$post->id, $post->title]);
 }