Laravel 4使用模型填充表单字段,但首先编辑字段

时间:2013-09-21 22:37:01

标签: php laravel laravel-4

我正在使用PHP和Laravel 4.使用Form方法使用下面的模型填充编辑表单...

Form::model($timecard, array('route' => array("admin/timecard/edit", $id)))

我的问题是,一些文本字段用数据库中的DateTime值填充,我需要能够在填充表单字段之前在这些特定字段上运行一些代码。

任何想法如何做或者在使用模型自动填充表单字段时是否可以这样做?

例如,下面的这个表单字段用GET值归档,否则它从数据库中获取列clock_in_datetime的数据字段但是我想在填充表单之前在该字段上运行PHP函数这样我就可以对它应用TimeZone或其他格式......

{{ Form::text("clock_in_datetime", Input::get("clock_in_datetime"), array(
    "placeholder" => "2013-09-04 14:22:35",
    'class' => 'form-control'
)) }}

1 个答案:

答案 0 :(得分:2)

我相信你可以做到以下几点:

{{ 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