【问题标题】:Laravel select box, display database value by defaultLaravel 选择框,默认显示数据库值
【发布时间】:2019-04-16 09:14:56
【问题描述】:

我在 laravel 中使用了一个选择框

<td>{!! Form::select('statCode', array('A' => 'Yes', 'D' => 'No')) !!}</td>

statCode 是数据库表中的一个列,它可以读取和写入,我在控制器中将它作为$i-&gt;statCode

有没有办法可以修改它,以便将$i-&gt;statCode 显示为选择框的默认值?目前它默认只显示“是”,所以如果我将选择框保存为“否”,它会反映数据库中的更改,但如果我返回编辑它,该框将返回“是”作为默认值,我希望它始终将数据库值显示为默认值。

数据库包含“A”或“D”,因此如果数据库值为“A”,我希望显示“是”,如果是“D”,我希望显示“否”

【问题讨论】:

  • Form 使用的是哪个包?
  • 只是默认的 laravel 表单,您可以在其中使用 form::open 等。
  • 我猜是 laravelcollective/html 包。它在 5.* 之前的 Laravel 版本中使用过。

标签: php laravel select


【解决方案1】:

3d参数是默认值,可以这样使用:

{!! Form::select('statCode', array('A' => 'Yes', 'D' => 'No'), old('statCode', $i->statCode)) !!}

这会反映出即使你提交了表单并且出现错误,也会检查之前选择的状态。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-01-20
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多