在 Laravel 上设置值 datetime-local

Ada*_*ojo 1 php laravel laravel-5 laravel-5.1 laravel-5.2

我想在我的编辑表单中添加值,值取自我的数据库。但我不知道如何以 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>
Run Code Online (Sandbox Code Playgroud)

这里是我的控制器:

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');
    }
Run Code Online (Sandbox Code Playgroud)

这是我的数据库:

这里

并注意我的date_startdate_end列是类型datespam

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

谢谢...

对不起,我的英语不好。

Tar*_*tar 14

将以下访问器添加到您的模型中。我认为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');
}
Run Code Online (Sandbox Code Playgroud)

并以你的形式

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

<input type="datetime-local" name="date_end" value="{{$yourPassedVariableToView->date_end}}">
Run Code Online (Sandbox Code Playgroud)

如果您想以另一种格式显示日期字段,而Y-m-d\TH:i不仅仅是向模型添加另一个访问器并在视图中使用它。


小智 7

如果你只想以你的形式来做,你可以这样做

<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)) }}">
Run Code Online (Sandbox Code Playgroud)