PHP Date to varchar/varchar to Date

PHP Date to varchar/varchar to Date,php,laravel,Php,Laravel,我试图将一个日期输入表单字段保存到varchar,但不明白为什么要保存不同的值 让我们看一些代码: HTML表单字段 <div class="form-group"> <label>Vencimento</label> <input type="text" name="due_date" value="{{ old('due_date') }}" class="da

我试图将一个日期输入表单字段保存到varchar,但不明白为什么要保存不同的值 让我们看一些代码:

HTML表单字段

<div class="form-group">
<label>Vencimento</label>
<input type="text" name="due_date" value="{{ old('due_date') }}" class="date-mask form-control @error('due_date') is-invalid @enderror" placeholder="Data de vencimento:">
@error('due_date')
<small class="text-danger">{{ $message }}</small>
@enderror
</div>
FinancialController.php

 public function store(RegisterAccountsRequest $request){
...

$data->due_date = date('Y-m-d H:i:s');
$data->save();

...
问题是记录的日期始终是今天,即使我输入了未来的一天,如2020年10月25日

结果是(今天):
2020-10-20 18:30:08

它是数据库上的一个VARCHAR

我错了什么?

这个
日期('Y-m-d H:I:s')
您正在调用当前日期,
date()
是一个内置的PHP函数。您的请求中有
截止日期
,请从请求中获取:

public function store(RegisterAccountsRequest $request)
{
   // ...
   $data->due_date = $request->due_date;
   $data->save();
   //...
}

因为您调用的是
date
,而没有传递时间戳;所以它使用“现在”(
time()
)<代码>日期($format,$timestamp)
public function store(RegisterAccountsRequest $request)
{
   // ...
   $data->due_date = $request->due_date;
   $data->save();
   //...
}