首页 > 解决方案 > 当我将数据库数据从 laravel 6 中的控制器传递到视图时,视图中的未定义变量

问题描述

我是 laravel 的新手。我的数据库中有两个表。我希望在我的选择下拉列表中显示数据库中的数据。但是当我将数据传递给视图文件时,它会给出一个错误,即未定义的变量 $groups. 请帮我。这是我的视图形式。

<form method="post" id="frm">
{{csrf_field()}}
<div class="panel-body">
  <div class="row text-center">
    <div class="col">Group
      <select class="selectpicker boundary" data-live-search="true">
         @foreach($group as $i)
          <option value="{{$i->id}}">{{$i->gtitle}}</option>
          </select>
          </div>
                </div><br>
                <div class="row text-center">
                    <div class="col title">Title
                        <input type="text" name="title" id="title">
                    </div>
                </div>
            </div>
            <div class="panel-footer text-center">
                <input type="submit" name="submit" id="submit" value="Submit" class="btn btn-info"/>
                <input type="reset" name="reset" value="Reset" class="btn btn-secondary"/>
            </div>   
        </form>

这是我的控制器

public function index(){
    $group = Group::all();
    return View::make("index")->with(array('groups'=>$groups));
}

这是我的路线

Route::get('/index', 'GroupController@index');

这是我的模型

class Group extends Model{
   protected $table = 'groups';
   protected $fillable = ['gtitle'];
  }

标签: phpmysqllaravel

解决方案


这应该工作,在我的代码上工作得很好。

public function index(){
    $group = Group::all();

    return view('index') // location of index file
            ->with('group', $group);    
}

<select class="selectpicker boundary" data-live-search="true">
   @foreach($group as $i)
   <option value="{{$i->id}}">{{$i->gtitle}}</option>
 </select>


推荐阅读