【发布时间】:2016-03-10 12:58:33
【问题描述】:
我是 Laravel 5.1 的新手,当我从数据库中检索日期字符串并尝试在刀片表单上显示它时,我不知道自己做错了什么。
它不起作用,数据库中的日期没有出现在Form::date上。
我知道我在这里遗漏了一些重要的东西 :)
查看代码如下:
<div class="col-sm-6">
<div class="form-group">
{!! Form::label('birth_date', trans('userapps/userapps.birth_date'))!!}
{!! Form::date('birth_date', Input::old('birth_date'), array('class' => 'form-control input-lg'))!!}
@if ($errors->has('birth_date')) <p class="help-block">{{ $errors->first('birth_date') }}</p> @endif
</div>
</div>
这是控制器代码:
public function edit($id)
{
//show all saved values for editing
$userapp = UserApplication::findOrFail($id);
$birth_date = DateTime::createFromFormat('d/m/Y', $userapp->birth_date)->format('d/m/Y');
$data = array('birth_date' => $birth_date, 'userapp' => $userapp);
return view('admin/userapps/edit')->with($data);
}
提前致谢。
【问题讨论】:
-
您在数据库中存储日期的格式是什么?是 SQL
DATE列吗? -
字符串为 dd/mm/yyyy
-
请尝试将此添加到您的模型中受保护的 $dates = ['birth_date'];它会将日期格式化为 Carbon 对象,看看是否有帮助
-
没有用,但奇怪的是我把字符串再次转换为日期,它应该可以工作:(