Laravel:在数据库的下拉列表中显示数据

Laravel:在数据库的下拉列表中显示数据,laravel,Laravel,大家好,我的代码中有一个问题未定义的变量:reports\u categories。我试图用我数据库中的类别名称制作一个下拉列表。以下是我所做的: {!! Form::open(array('route' => 'reports.create','role' => 'form', 'enctype' => 'multipart/form-data')) !!} {{csrf_field()}}

大家好,我的代码中有一个问题未定义的变量:reports\u categories。我试图用我数据库中的类别名称制作一个下拉列表。以下是我所做的:

{!! Form::open(array('route' => 'reports.create','role' => 'form', 'enctype' => 'multipart/form-data')) !!}
                        {{csrf_field()}} 
                        {{method_field('PUT')}}

                        <div class="col-md-4 col-sm-2 pull-right"style="margin-top: 50px">
                            <div class="select-style input-round med-input shop-shorting-full">
                                <select name="category_id" id="" class="form-control">
                                    <option value="">Select Category</option>
                                    @foreach($reports_categories as $category)
                                        <option
                                             value="{{$category->id}}"
                                             @if($category->id === $reports->category_id)
                                                selected
                                             @endif
                                             >
                                             {{$category->name}}
                                        </option>
                                    @endforeach
                                </select>
                            </div>
                        </div>
                {!! Form::close() !!}
如果你知道有什么问题或者你有什么建议,请告诉我。
如果您需要更多详细信息,请告诉我,我将提供更多信息。

如果这与您的“显示”功能有关,则您将传递一个名为$categories的变量,而不是用于DB查询的$reports\u categories:

 public function show($id)
{
    $reports = Reports::find($id);
    $reports_categories = DB::table('reports_categories')->where('reports_categories_id', $id)->get();
    return view('reports.show', ['report'=>$reports, 'reports_categories'=>$categories]);   
}
将要返回视图的变量更改为$reports\u categories


如果该表单位于“创建”函数视图中,则根本不会将其传递到该页面。如果您使用的是需要它的create表单,那么这可能就是问题所在?如果不知道该表单在哪一页上,很难知道。请更正返回视图('reports.show',['report'=>$reports','reports\u categories'=>$categories]);它应该是“reports\u categories”=>$reports\u categories您的刀片名称文件是什么?刀片名称是create.blade。php@mightyteja我修正了这个问题,但仍然是的,我将$categories改为$reports\u categories,但仍然会出现相同的错误。你能再解释一下你回答的第二部分吗?
 public function show($id)
{
    $reports = Reports::find($id);
    $reports_categories = DB::table('reports_categories')->where('reports_categories_id', $id)->get();
    return view('reports.show', ['report'=>$reports, 'reports_categories'=>$categories]);   
}