【问题标题】:Laravel 4 Populate Form fields with a Model but edit the field firstLaravel 4 使用模型填充表单字段但首先编辑字段
【发布时间】:2013-09-27 02:50:22
【问题描述】:

我正在使用 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'
)) }}

【问题讨论】:

    标签: php laravel laravel-4


    【解决方案1】:

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

    {{ 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 决定使用哪个值(之前的 Input、Session 或 Model)的方式。因此,您可以将格式化函数应用于此函数的输出。

    http://laravel.com/api/source-class-Illuminate.Html.FormBuilder.html#751-773

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多