7

I have this input in my form... I need to store the date picked from it, but I get a null value when I submit

<script type="text/javascript">
   $(function() {
       $( "#datepicker" ).datepicker();
   });
</script>

<input type="text" required="" placeholder="When are You Coming Back" name="datepicker2"  id="datepicker2" value="" name="datepicker2" class="txt">

am I missing something?? when I submit I don't get any values in the database, I am using laravel5

class LeaveController extends Controller
{
     public function ApplyLeave(Request $request)
    {

        Auth::user()->sent()->create([
            'tel'       => $request->tel,
            'email'    => $request->email,
            'start' => $request->datepicker,
            'end'       => $request->datepicker1,
            'supervisor'    => $request->supervisor,
            'department' => $request->department,
            'name'    => $request->name,
            'adress' => $request->adress,
        ]);   
        return view('home');
   }
Jaymin Panchal
  • 2,797
  • 2
  • 27
  • 31
Sir George
  • 423
  • 3
  • 8
  • 20

3 Answers3

14

Parsing dates should work:

'start' => Carbon::parse($request->datepicker),
'end' => Carbon::parse($request->datepicker1),

Also, it's a good idea to put start and end to the $dates array.

Alexey Mezenin
  • 158,981
  • 26
  • 290
  • 279
1

You need to convert your date to the format the DB accept like Y-m-d i.e. 2017-01-19.

Try to convert it before storing in DB

like,

public function ApplyLeave(Request $request){

    Auth::user()->sent()->create([
        'tel'       => $request->tel,
        'email'    => $request->email,
        'start' => date("Y-m-d", strtotime($request->datepicker)),
        'end'       => date("Y-m-d", strtotime($request->datepicker1)),
        'supervisor'    => $request->supervisor,
        'department' => $request->department,
        'name'    => $request->name,
        'adress' => $request->adress,
    ]);   
    return view('home');
}
Jaymin Panchal
  • 2,797
  • 2
  • 27
  • 31
1

Use strtotime() on your first date then date('Y-m-d') to convert it back:

$time = strtotime('10/16/2003');

$newformat = date('Y-m-d',$time);

echo $newformat;

// 2003-10-16

Converting string to Date and DateTime

Community
  • 1
  • 1