gpt4 book ai didi

php - 如何使用HTML表单正确地将日期时间插入MYSQL数据库?

转载 作者:行者123 更新时间:2023-11-29 10:48:47 25 4
gpt4 key购买 nike

我遇到了一个看似相对简单的问题,但它引起的问题比我想象的要多。您可能知道,HTML5 不再支持表单字段的“datetime”输入,而仅支持“datetime-local”。当我尝试通过网站上的表单将“datetime-local”插入数据库时​​,由于“datetime-local”中包含额外的字符,我显然收到错误。我想做的事情以及为什么我需要一个日期时间字段而不是各自字段中的日期和/或时间,是因为我想使用 Carbon 以不同的格式显示我的日期时间。如何通过 HTML 表单将日期时间插入 mysql 表中,而不需要手动将值插入数据库?

编辑:这是我试图用来实现此目的的所有相关代码。我正在使用 Laravel 构建此应用程序

游戏/创建表单:

<select name="season_id">

@foreach ($seasons as $season)

<option name="season_id" value="{{ $season->id }}">{{ $season->season }} {{ $season->year }}</option>

@endforeach

</select>

<label for="inputDateTime" class="sr-only">DateTime</label>
<input type="datetime-local" name="gdatetime" id="inputDateTime" class="form-control" placeholder="DateTime" required autofocus>

<label for="inputOpponent" class="sr-only">Opponent</label>
<input type="text" name="opponent" id="inputOpponent" class="form-control" placeholder="Opponent" required autofocus>

<label for="inputLocation" class="sr-only">Location</label>
<input type="text" name="location" id="inputLocation" class="form-control" placeholder="Location" required autofocus>

<label for="inputField" class="sr-only">Field</label>
<input type="text" name="field" id="inputField" class="form-control" placeholder="Field" required autofocus>

游戏 Controller :

$game = Game::create(request(['gdatetime', 'opponent', 'location', 'field', 'season_id']));

此外,在我的 Game 模型中,我定义了以下内容:

protected $dates = ['gdatetime'];

最佳答案

您始终可以将日期时间输入解析到 Carbon 实例并将其存储在数据库中。解析将解决存储前格式化输入所带来的麻烦。然后,您可以在需要时以任何格式显示它们。

$date = \Carbon\Carbon::parse($request->input('datetime'));

编辑:根据您的评论和更新,执行此操作。

$data = request(['opponent', 'location', 'field', 'season_id']);

$data['gdatetime'] = \Carbon\Carbon::parse(request('gdatetime'));

$game = Game::create($data);

关于php - 如何使用HTML表单正确地将日期时间插入MYSQL数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44119328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com