【问题标题】:How to populate dropdown from database laravel 5.x如何从数据库 laravel 5.x 填充下拉列表
【发布时间】:2017-03-12 09:07:17
【问题描述】:

控制器端:

$regs = Model::all('id','name');

return view('aview',compact('regs'));

查看面:

{{ Form::select('id', $regs) }}

下拉列表被渲染和填充,但显示JSON objects,例如{"id:1","name: Aname"},而不是显示Aname并将帖子值设置为1

【问题讨论】:

  • 请解释你的问题,你想达到什么目标?

标签: html laravel view eloquent dropdown


【解决方案1】:

你可以这样填充:

{!! Form::select('id', $regs->lists('name', 'id'), null, ['class' => 'form-control']) !!}

【讨论】:

  • 列表功能已被弃用,重命名为 pluck,但由于某种原因它对我不起作用。
【解决方案2】:

试试这个

在你的控制器中

$regs = Model::pluck('name','id');

保持你的观点不变

希望这会奏效

【讨论】:

    【解决方案3】:

    Form::select 接受四个参数:

    public function select($name, $list = [], $selected = null, $options = []);

    1. html 字段的名称
    2. 选项列表
    3. 选定的值
    4. html 属性数组

    您可以使用生成列表

    $regs = Model::all('id','name');
    $plucked = $regs->pluck('name', 'id');
    // $plcuked = ['id1' => 'name1', 'id2' => 'name2' ...]
    

    刀片代码应该是这样的

    {{ Form::select('name', $plucked, null, ['class' => 'form-control']); }}

    【讨论】:

      【解决方案4】:

      我可能让这个问题有点复杂,但我认为它值得使用插件。

      您可以使用非常流行的插件-Select2。这个 jQuery 插件可帮助您从服务器获取数据,并在几分钟内将获取的数据填充到我们的下拉列表中。你的代码是这样的。

      // Code in your Controller Method
      $regs = Model::all();
      $data = [];
      foreach($regs as $reg) {
            $data[] = [
                  'id' => $reg->id,
                  'text' => $reg->name
            ];
      }
      return json_encode(['items' => $data]);
      
      
      // Code in your desired View
      <select id="select_items"></select>
      
      
      // Code in js
      $('#select_items').select2({
        ajax: {
          url: '/example/api', // <--------- Route to your controller method
          processResults: function (data) {
            return {
              results: data.items
            };
          }
        }
      });
      

      您还可以使用此插件集成搜索选项,因为它可以帮助您根据搜索关键字获取结果(更多信息请参阅Select2 Examples)。希望这可以帮助您解决问题。

      【讨论】:

        猜你喜欢
        • 2018-10-03
        • 2014-12-25
        • 1970-01-01
        • 2011-11-09
        • 2016-01-09
        • 1970-01-01
        相关资源
        最近更新 更多