如何在 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 中将时间作为输入?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Laravel 中将连接结果作为对象数组获取?

如何在Laravel 5.2中将表单数据作为路由参数传递

如何在laravel中将主键本身设置为外键?

如何在 LARAVEL 5.2 中将数据存储到数据库中

如何在 API 调用中将输入值作为参数传递?

如何在 Laravel 5.5 中将数据插入表格并获取电子邮件通知?