Laravel / Livewire - 日期推迟一天

Laravel / Livewire - Date is off by one day

我不确定这是从哪里来的,但默认的 HTML 日期选择器在使用 laravellivewire.

时关闭了一天

此代码:

<div class="col-span-6 sm:col-span-4">
    <x-jet-label for="birthdate" value="{{ __('Geburtsdatum') }}" />
    <x-jet-input id="birthdate" name="birthdate" type="date" class="mt-1 mb-6 w-full" wire:model="details.birthdate"/>
    <x-jet-input-error for="details.birthdate" class="mt-2" />

    {{$details->birthdate}}
</div>

结果是这样的:

我使用此代码确保模型中的生日格式符合我的预期:

protected $casts = [
    'birthdate' => 'date:Y-m-d',
];

与我的 livewire 组件中的验证规则相同:

protected $rules = [
    'details.birthdate' => 'date:Y-m-d',
];

我也在我的 mysql 数据库中使用 date 格式。

并且该值似乎与 2021-02-02 一样正确,但使用 wire:model 插入它最终会变成 2021-02-01.

有人知道这种行为从何而来吗?

我们终于找到了导致问题的原因。我们在 model:

中有一个受保护的变量
protected $dates = ['birthdate'];

删除这个之后,如果终于成功了。感谢您的帮助。