首页 > 解决方案 > 在 laravel 中使用 ajax 用数据库填充下拉列表

问题描述

我正在尝试从下拉列表中的数据库中获取数据,但它没有显示,我也观看了几个教程,但事情没有按预期工作

控制器 :

 public function cost(Request $request){
            $lab_data = \DB::table('lab_category')->select('category_name')->get();
              //return $lab_data;
        return view('medicinecost')->with('lab_category',$lab_data);
          }

路线 :

Route::get('labdetails','Test@cost');
Route::get('labprice',function (){
    return view('pages/medicinecost');
});

药价.blade.php

<div class="form-group">
    <select name="labCat" id="lab" class="form-control input-lg dynamic" data-dependent="labSubCat">
    <option value="{{$lab_data}}">Select Lab Category</option>
        @foreach($lab_data as $lb)
            <option value="{{$lb->lab_category_id}}">{{$lb->category_name}}</option>
        @endforeach
    </select>
</div>

我收到此错误

ErrorException in 1180188cd7aaaebdb54a13bbf08bc2d80ab30f15.php line 15:
Undefined variable: lab_data (View: C:\xampp72\htdocs\hospital\resources\views\pages\medicinecost.blade.php)

标签: htmlajaxdatabaselaravelphpmyadmin

解决方案


用这个

<div class="form-group">
    <select name="labCat" id="lab" class="form-control input-lg dynamic" data-dependent="labSubCat">
    <option value="">Select Lab Category</option>
        @if(isset($lab_category))
        @foreach($lab_category as $lb)
            <option value="{{$lb->lab_category_id}}">{{$lb->category_name}}</option>
        @endforeach
        @endif
    </select>
</div>


Route::get('labprice',function (){
    $lab_data = \DB::table('lab_category')->select('category_name')->get();
          //return $lab_data;
    return view('pages/medicinecost')->with('lab_category',$lab_data);
});

推荐阅读