【问题标题】:form select on laravellaravel 表单选择
【发布时间】:2013-05-21 09:55:12
【问题描述】:

我的数据看起来像这样

id    rel    word

1     A     word A
2     B     word B
3     B     word C

要获取数据,我的控制器如下所示:

public function get_new()
{
return View::make('form.new')
    ->with('datas', Data::all());
}

我的视图将如下所示:

<select>
@foreach($datas as $data)
<option value="{{ $data->id }}" rel="{{ $data->rel }}">{{ $data->word }}</option>
@endforeach
</select>

如何使用 Form::select 获取该数据?

如果我们使用Form::select,我们可以使用Data::lists('word','id') 调用它并传递给视图。 但如果我使用它,我只能得到 2 个数据,即 id 和 word。

我怎样才能获得id, rel and word with Form::select 的所有数据。请帮帮我。

【问题讨论】:

  • 你所做的已经很有意义了。 Form::select() 旨在为您提供非常简单的输出。如果您发现自己经常这样做,您可以随时编写自己的函数来生成此输出。
  • 感谢您的解释,所以,也许我必须为此创建辅助函数。

标签: php laravel


【解决方案1】:

Laravel 4s FormBuilder 和 HtmlBuilder 不会为每个人生产一切。泰勒本人曾说过,他希望保持精简和简单。您现在拥有的解决方案可能是您可以解决的最佳方法(使用简单的循环)。

Form::select 无法自动填充选项元素的其他属性。如果你想要这个功能,你要么必须让自己成为一个自定义宏,要么编写自己的表单生成器。

可能不是您想要的答案,但这几乎可以概括。

【讨论】:

  • 谢谢你的解释,我会尽量按照你的建议做
【解决方案2】:

只想更新解决方案...

<select name="name" id="name">
@foreach($datas as $data)
<option value="{{ $data->id }}" {{ (Input::old('name', 0) === $data->id ? ' selected="selected"' : '') }} rel="{{ $data->rel }}">{{ $data->word }}</option>
@endforeach
</select>

这将为所选选项提供旧输入

【讨论】:

    猜你喜欢
    • 2018-06-03
    • 2016-03-27
    • 2015-07-06
    • 2019-10-28
    • 1970-01-01
    • 2019-05-23
    • 2017-12-27
    • 1970-01-01
    • 2018-03-01
    相关资源
    最近更新 更多