【问题标题】:Setting value datetime-local on laravel在 laravel 上设置值 datetime-local
【发布时间】:2016-05-18 05:44:19
【问题描述】:

我想在我的编辑表单中添加值,该值取自我的数据库。但我不知道如何以 datetime-local 类型的形式添加值。我试过了,但没有出现。

这是我的看法:

<div class='form-group col-sm-6'>
                        <label>Date Start</label>
                        <input class='form-control' value='{{ @$row->date_start }}' readonly />
                        <input type='datetime-local' class='form-control' name='date_start' value='{{ @$row->date_start }}' required/>
                    </div>
                    <div class='form-group col-sm-6'>
                        <label>Date End</label>
                        <input  class='form-control' value='{{ @$row->date_end }}' readonly />
                        <input type='datetime-local' class='form-control' name='date_end' value='{{ @$row->date_end }}' required/>
                    </div>

这里是我的控制器:

public function postEditSave($id) {
        $simpan= array();
        $simpan['date_start']=Request::input('date_start');
        $simpan['date_end']=Request::input('date_end');
        $simpan['condition_status']=Request::input('condition_status');
        $simpan['id_cms_users']=Request::input('id_cms_users');
        $simpan['id_cms_companies']=Request::input('id_cms_companies');

        DB::table('log_patrols')->where('id', $id)->update($simpan);
        Session::flash('edit', 'Berhasil merubah data');
        return redirect('patrols');
    }

这是我的数据库:

here

请注意,我的 date_startdate_end 列是类型 datespam

谁能给我解决方案?或者我可以为我的项目使用任何其他表单输入类型吗?哪个可以直接获取日期和时间数据?用于更改类型 datetime-local

谢谢...

对不起,我的英语不好。

【问题讨论】:

  • 未来就是现在...... Carbon 现在有“toDateTimeLocalString”格式。

标签: php laravel laravel-5 laravel-5.1 laravel-5.2


【解决方案1】:

将以下访问器添加到您的模型中。我认为Y-m-d\TH:idatetime-local 输入接受的唯一日期格式。

public function getDateStartAttribute($value)
{
    return Carbon::parse($value)->format('Y-m-d\TH:i');
}

public function getDateEndAttribute($value)
{
    return Carbon::parse($value)->format('Y-m-d\TH:i');
}

在你的表单中

<input type="datetime-local" name="date_start" value="{{$yourPassedVariable->date_start}}">

<input type="datetime-local" name="date_end" value="{{$yourPassedVariableToView->date_end}}">

如果您想以除Y-m-d\TH:i 之外的其他格式显示日期字段,只需向您的模型添加另一个访问器并在您的视图中使用它。

【讨论】:

    【解决方案2】:
    <input id="time" name="time" type="datetime-local" value="{{old('time')?? date('Y-m-d\TH:i', strtotime($learning->time)) }}" class=" form-control @error('time') is-invalid @enderror" autocomplete="off">
    

    【讨论】:

    • 请不要只发布代码作为答案,还要解释您的代码的作用以及它如何解决问题的问题。带有解释的答案通常更有帮助、质量更好,并且更有可能吸引投票。
    【解决方案3】:

    如果您只想在表单中执行此操作,您可以这样做

    <input type="datetime-local" name="date_start" value="{{ date('Y-m-d\TH:i', strtotime($yourPassedVariableToView)) }}">
    
    <input type="datetime-local" name="date_end" value="{{ date('Y-m-d\TH:i', strtotime($yourPassedVariableToView)) }}">
    

    【讨论】:

      【解决方案4】:

      它\您可以在模型上使用非常容易在您的模型上实现。

      protected $casts = [
              'inicio'  => 'datetime:Y-m-d\TH:i'
              ,'entrega'  => 'datetime:Y-m-d\TH:i'
         ];
      

      返回所有格式化的数据以供使用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-20
        • 2014-10-09
        • 2017-04-12
        • 1970-01-01
        • 1970-01-01
        • 2021-12-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多