如何在 Laravel 中将时间作为输入?
Posted
技术标签:
【中文标题】如何在 Laravel 中将时间作为输入?【英文标题】:How to take time as an input in Laravel? 【发布时间】:2016-05-09 09:49:51 【问题描述】:我想使用我的 laravel 控制器将 am/pm 输入时间用于 mysql。但问题是我已经从刀片视图中花费了时间,但是在使用 dd() 查看输出时,它显示了以下值。
Carbon #213 ▼
+"date": "2016-05-09 00:00:00.000000"
+"timezone_type": 3
+"timezone": "UTC"
除了作为起始值之外什么都没有。
这是模型:
class Room extends Model
protected $table='allocate_rooms';
这是我使用的视图:
<div class="form-group">
<label>From</label>
<input type="time" name="start" class="form-control" required >
</div>
这是我正在使用的控制器。
public function AllocateRoom(Request $request)
$room = new Room();
$room->start = Carbon::parse($request->input('start'));
dd($room->start);
$room->save();
在我的数据库中,我使用time
作为开始的数据类型
【问题讨论】:
你能展示一下Room模型和dd()
的结果吗
我已经更新了 Qus 的详细信息!
执行 dd($room->start-> getTimestamp()); 会得到什么?
一些数字就像我得到1462759200
【参考方案1】:
在您的模型中,您需要日期修改器:
class Room extends Model
protected $table='allocate_rooms';
protected $dates = ['start'];
更多信息:
https://laravel.com/docs/5.1/eloquent-mutators#date-mutators
【讨论】:
添加日期修改器后得到相同的输出!【参考方案2】:$room->start = Carbon::parse($request->input('start'))->format('h:i a');
【讨论】:
以上是关于如何在 Laravel 中将时间作为输入?的主要内容,如果未能解决你的问题,请参考以下文章