使用Laravel将日期值插入日期字段

时间:2018-05-13 02:51:37

标签: mysql laravel laravel-5

目前,我在表单上有一个日期字段,我希望能够插入当前正在编辑的记录的当前值。我的MySQL数据库中没有记录缺少此日期字段,但由于某种原因,记录的值实际上不会加载到字段输入中,但它会加载到输入字段的“值”部分。

目前这是我的字段代码:

<input type="date" name="date" id="date" class="form-control" style="width: 100%; display: inline;" onchange="invoicedue(event);" required value="{{$shipment->date}}">

以下是代码输出:

<input name="date" id="date" class="form-control" style="width: 100%; display: inline;" onchange="invoicedue(event);" required="" value="2018-05-10 00:00:00" type="date">

但这就是我的浏览器中的样子:

enter image description here

但是在我的MySQL数据库表中,字段(日期字段)的格式如下:2018-05-12

3 个答案:

答案 0 :(得分:1)

对于日期,您可以在laravel check Documentations

中使用mutators

然后你可以这样做:

class Shipment extends Model {

    protected $dates = ['date'];
}

然后你可以简单地写

<input type="date" name="date" id="date" class="form-control" style="width: 100%; display: inline;" onchange="invoicedue(event);" required value="{{$shipment->date->format('m/d/Y')}}">

如果你不想使用laravels date mutator,你可以使用自己喜欢的东西:

class Shipment extends Model
{
    /**
     * Set the user's first name.
     *
     * @param  string  $value
     * @return void
     */
    public function setDateAttribute($value)
    {
        $this->attributes['date'] = Carbon::parse($value)->format('m/d/Y');
    }
}

希望这有帮助。

答案 1 :(得分:1)

html输入元素类型日期将查找具有YYYY-MM-DD格式的值,因此您必须更改您的值格式。

尝试这样的事情:

i = 0

first_part = "https://www.minsalud.gov.co/sites/rid/Paginas/freesearchresults.aspxk=&k=Salud%20Mental%20Legislacion#k=%2CSalud%20Mental%20Legislacion=+"
for j in range(0,10):
    i = i + 10
    url = (first_part + str(i) + ")")

    print (url)

<小时/> https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date

答案 2 :(得分:1)

Laravel利用碳,让这样的任务在公园里绝对散步。正常情况下将您的日期值发布到您的控制器,您正在使用的输入正常。

然后简单地用Carbon格式

$formattedDate = Carbon::parse($request->date)->format('Y-m-s');

您现在拥有2018-05-13格式的日期,这是sql

的正确格式

你应该阅读Carbon文档,它可以做一些很棒的事情。

请在此处查看https://carbon.nesbot.com/docs/