我正在使用PHP和Laravel 4。 使用 Form 方法使用如下所示的模型填充编辑表单...
Form::model($timecard, array('route' => array("admin/timecard/edit", $id)))
我的问题是,某些文本字段填充了数据库中的 DateTime 值,我需要能够在填充表单字段之前对这些特定字段运行一些代码。
任何想法如何做到这一点,或者是否可以在仍然使用模型自动填充表单字段的同时做到这一点?
例如,下面的这个表单字段使用 GET 值归档,否则它会获取包含列 clock_in_datetime
的数据库中数据的字段,但是我想在填写表单之前在此字段上运行 PHP 函数,以便我可以应用时区或其他格式...
{{ Form::text("clock_in_datetime", Input::get("clock_in_datetime"), array(
"placeholder" => "2013-09-04 14:22:35",
'class' => 'form-control'
)) }}
我相信
你可以做到以下几点:
{{ Form::text("clock_in_datetime", yourFormattingFunction(Form::getValueAttribute("clock_in_datetime")), array(
"placeholder" => "2013-09-04 14:22:35",
'class' => 'form-control'
)) }}
Form::getValueAttribute()
是 Laravel 决定使用哪个值(以前的输入、会话或模型)的方式。因此,您可以将格式化函数应用于此函数的输出。
http://laravel.com/api/source-class-Illuminate.Html.FormBuilder.html#751-773