日期时间选择器不会将所选日期保存到数据库

Date Time picker does not save selected date to the database

在我的laravel项目中,我想将Datepicker选择的日期保存到数据库中。但是我的代码将日期保存为“01-01-1970”并且不是日期选择器中选择的日期。 我试图通过许多代码来修复它。但是运气不好。

这里是控制器存储函数。

 public function store(Request $request)
        {
            $qualification = new qualification();

            $qualification->from = date("d-m-Y", strtotime($request->from));
            $qualification->to = date("d-m-Y", strtotime($request->to));

            $qualification->save();

            return redirect()->route('qualification.index')->with('success','Data Added');
        }

这是blade.php

 <label for="date">From:</label><input type="text" name="date" value="" />
 <label for="date">To:</label><input type="text" name="date" value="" />

<script>
$(function() {
  $('input[name="date"]').daterangepicker({
    singleDatePicker: true,
    showDropdowns: true,
    minYear: 1995,
    maxYear: parseInt(moment().format('YYYY'),10)
  }, function(start, end, label) {
    var years = moment().diff(start, 'years');
  });
});
</script>

请帮我将选择的日期保存到数据库中。感谢您的帮助。

您试图在您的控制器中获取 $request->from 和 $request->to 的值,但在 HTML 中,两个文本字段都被命名为日期。

应该是这样的

HTML:

 <label for="date">From:</label><input type="text" class="date" name="from" value="" />
 <label for="date">To:</label><input type="text" class="date" name="to" value="" />

在 js 中

<script>
$(function() {
  $('.date').daterangepicker({
    singleDatePicker: true,
    showDropdowns: true,
    minYear: 1995,
    maxYear: parseInt(moment().format('YYYY'),10)
  }, function(start, end, label) {
    var years = moment().diff(start, 'years');
  });
});
</script>

你可以做到这一点

<script>
    $(function() {
        $('input[name="date"]').daterangepicker({
            singleDatePicker:   true,
            showDropdowns:      true,
            minYear:            1901,
            maxYear:            parseInt(moment().format('YYYY'),10),
            locale: {
                format:         'DD-MM-YYYY'
            }        
        }, function(start, end, label) {
            var years = moment().diff(start, 'years');
            //alert("You are " + years + " years old!");
        });
    });
</script>