Laravel:从数据库中下拉列表

Laravel:从数据库中下拉列表,laravel,Laravel,我正在使用带有infyomlab生成器的laravel。我想从另一个表中添加数据作为下拉列表。 这是我的密码 ProductController.php $supplier = Supplier::all(); $unit = Unit::all(); $category = Category::all(); $products = $this->productRepository->all(); $product = DB::table('products')->selec

我正在使用带有infyomlab生成器的laravel。我想从另一个表中添加数据作为下拉列表。 这是我的密码

ProductController.php

$supplier = Supplier::all();
$unit = Unit::all();
$category = Category::all();

$products = $this->productRepository->all();
$product = DB::table('products')->select(
    'suppliers.*',
    'units.*',
    'categories.*')
    ->join('suppliers','suppliers.id', '=', 'products.supplier_id')
    ->join('units','units.id', '=', 'products.unit_id')
    ->join('categories','categories.id', '=', 'products.category_id')
    ->get();

return view('products.index', compact('supplier', 'unit', 'category', 'product'))
    ->with('products', $products);
fields.blade.php

<select class="form-control" name="supplier_id" id="supplier_id">
<option value="">Select Supplier</option>
@foreach($suppliers as $supplier)
    <option value="{{ $supplier->id }}">{{ $supplier->$supplier_name }}</option>
@endforeach
试试这个

@foreach($products as $supplier)
    <option value="{{ $supplier->id }}">{{ $supplier->$supplier_name }}</option>
@endforeach
当你返回它时,它只是一个打字错误:

在这里,您返回的是供应商而不是供应商契约“供应商”、“单位”、“类别”、“产品”

因此,您需要在前端执行以下操作:

@foreach($supplier as $s)
   <option value="{{ $s->id }}">{{ $s->$supplier_name }}</option>
@endforech
你把它换成

$supplier = Supplier::all();


您没有从控制器返回供应商请简要指定.bro,它显示相同的错误未定义变量:products View:C:\xampp\htdocs\qa\resources\views\products\fields.blade.php不适用于我。请您给我一个新代码,将数据库中的数据显示为下拉列表。注意:首先是供应商,然后检查值是否存在。将products blade.problem@foreach$变量中的值作为$v传递给$variable
$supplier = Supplier::all();
$suppliers = Supplier::all();


return view('products.index', compact('suppliers', 'unit', 'category', 'product','products'));