如何在Laravel中花时间作为输入?

时间:2016-05-09 09:49:51

标签: php mysql sql laravel-5

我想用am / pm将输入时间用于laravel控制器到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作为start

的数据类型

2 个答案:

答案 0 :(得分:2)

在你的模型中你需要日期变换器:

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

更多信息:

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

答案 1 :(得分:0)

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