如何将时间作为Laravel中的输入


How to take time as an input in Laravel?

我想用我的laravel控制器将am/pm输入到mysql。但问题是,我从blade视图中花了一些时间,但当看到使用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作为启动的数据类型

在您的模型中,您需要日期转换器:

class Room extends Model
{
     protected $table='allocate_rooms';             
     protected $dates = ['start'];
}

更多信息:

https://laravel.com/docs/5.1/eloquent-mutators#date-突变体

$room->start = Carbon::parse($request->input('start'))->format('h:i a');