【问题标题】:How to take time as an input in Laravel?如何在 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

标签: php mysql sql laravel-5


【解决方案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');

【讨论】:

    猜你喜欢
    • 2018-10-14
    • 2017-02-14
    • 1970-01-01
    • 2016-12-11
    • 2020-09-28
    • 1970-01-01
    • 2021-05-13
    • 1970-01-01
    • 2018-07-30
    相关资源
    最近更新 更多