日期值设置不正确

date value is not getting set properly

我在我的表单中使用了两种类型的日期,一种是 'Y-m-d H:i:s' 格式,用于 created_at、updated_at、deleted_at,一种用于 valid_to 'Y-m-d' 问题是我的 created_at 设置正确但是当我尝试保存 valid_from 它的值没有设置并将 0000-00-00 保存在数据库中 我已经尝试了一些方法,但似乎都没有用 控制器代码

 $input = $request->all();
//        if($request->input('valid_from')) {
//            $date = explode("-", $request->input('valid_from'));
//            $dob = $date['2'] . '-' . $date['1'] . '-' . $date['0'];
//        }
//        $input->valid_from = $dob;
//        return $request->all();
//        $date= $input->valid_from;
//        $date = \Carbon\Carbon::parse($request->current_date);
//
//        $day = $date->day;
//        $month = $date->month;
//        $year = $date->year;
//        dd($request);
//        $date = $input->valid_from;
//        $input->valid_from = date('M d,Y',$date);
////        $date = explode('-', $input->valid_from);
////        $input->valid_from = $date['2'].'-'.$date['1'].'-'.$date['0'];
        Promotion::create($input);

型号代码

protected $fillable = ['valid_from'];
    protected $dates = [
        'deleted_at',
// 'valid_from',


    ];
//    protected $valid = ['valid_from'];
//    public function getFormattedValidFromAttribute($valid) {
//        $valid = new Carbon($valid);
//        return $valid->format('d-m-Y');
////        return $this->valid_from->format('d-m-Y');
//    }
//    public function getFormattedValidToAttribute() {
//        return $this->valid_to->format('d-m-Y');
//    }
//    protected function getDateFormat()
//    {
////        return 'U';
//        return 'd-m-Y ';
//    }

迁移

$table->date('valid_from');

您必须确保您遵循了专栏 valid_from 的 date_format。

$input = $request->except('valid_from');
$input['valid_from'] = date('Y-m-d',strtotime($request->input('valid_from')));
Promotion::create($input);

你得到了 dd($input->valid_from);作为“17-03-2018”。其格式为 d-m-Y。

试试这个

Carbon::createFromFormat('d-m-Y', $request->valid_from)->format('Y-m-d');