【问题标题】:Laravel 4: Can't get model data with a form macro on edit formLaravel 4:无法在编辑表单上使用表单宏获取模型数据
【发布时间】:2013-07-23 20:31:01
【问题描述】:

在编辑表单时,我无法使用存储在 DB 中的数据填充表单字段。

当我使用文档中的代码 sn-p 时,一切都很好。但是我需要在表单字段中附加一个 css 类,这不能作为参数传递:

{{ Form::text('email') }}

所以我创建了下面的 Form::macro

Form::macro('textclass', function($name, $class = null)
{
    return '<input type="text" name="'.$name.'" id="'.$name.'" class="'.$class.'"/>';
});

所以我可以在我的视图中使用它:

{{ Form::textclass('email', 'm-wrap span12') }}

但是该字段没有填充模型数据。

知道如何解决这个问题吗?

【问题讨论】:

  • 您可以像 Form::text('email',null,array('class'=&gt;'m-wrap span12)) 这样将选项传递给 text 方法。第三个参数接受带有文本输入选项的数组
  • 嗯,不知道,谢谢

标签: php laravel laravel-4


【解决方案1】:

如果您想查看Form 生成的内容作为参考,您可以查找vendor/laravel/framework/src/Illuminate/Html/FormBuilder

FormBuilder 类中,您将找到输入方法。文本输入的方法如下所示

 public function text($name, $value = null, $options = array())
 {
    return $this->input('text', $name, $value, $options);
 } 

如您所见,第二个参数是值,第三个是选项数组。

所以你的表单看起来像这样

Form::text('email', null, array('class'=&gt;'m-wrap span12'))

【讨论】:

  • 应该编辑答案,包括您作为评论发布的代码,以供将来参考。
猜你喜欢
  • 1970-01-01
  • 2017-04-23
  • 2011-08-26
  • 1970-01-01
  • 2019-08-29
  • 2015-02-02
  • 2013-09-27
  • 2018-12-30
  • 1970-01-01
相关资源
最近更新 更多