为了账号安全,请及时绑定邮箱和手机立即绑定

如何在一个视图中从两个表中获取多列数据

如何在一个视图中从两个表中获取多列数据

PHP
大话西游666 2021-08-28 17:13:52
我试图从两个表(brands 和 raw_materials)中获取数据,通过外键(brand_id)连接。一个品牌可以有多种原材料。我希望所有内容都显示在一页上的各自品牌下。相反,我将结果单独显示。使用 Laravel 5.7 和 Eloquent。My Tables[brands]id    name----------1   Apple 2   Colgate3   LintX[raw_materials]id    name        brand_id      quantity-----------------------------------------1    50g pouch        1        2002    10g laminate     3        3203    75mm oil         1        5004    Mint Rubber      3        4005    Fire pouch       2        5506    400 String       1        5007    90g pouch        2        200页面控制器$brandData = DB::table('brands')            ->join('raw_materials','raw_materials.brand_id','brands.id')            ->select('brands.id as brand_id','brands.name as brand_name','raw_materials.name as raw_material','raw_materials.quantity')            ->orderBy('brands.id')            ->get();<br>return view('rawmaterials.index', [            'brandData'=>$brandData,        ]);看法@foreach ($brandData as $brand)<p>Brand Name: {{$brand->brand_name}}</p><p>{{$brand->raw_material}} | Quantity: {{$brand->quantity}}</p><br>@endforeach预期结果:品牌名称:Apple50g 袋装| 数量:20075mm 油 | 数量:500400 串 | 数量:500品牌名称:ColgateFire 小袋 | 数量:55075mm 油 | 数量:500400 串 | 数量:500next brand ..实际结果:品牌名称:Apple50g 袋装| 数量:200品牌名称:Apple75mm 油 | 数量:500品牌名称:Apple400 串 | 数量:500品牌名称:ColgateFire Pouch | 数量:550And so on..
查看完整描述

2 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

您可以先创建关系:


function raw_materials() {

     return $this->hasMany(RawMaterial.class);

}

在您的控制器中,像这样使用 with() 函数:


$brandData = Brand::with('raw_materials')->all();

return view('rawmaterials.index', [

    'brandData'=>$brandData

]);

然后在您的视图中,您可以获取 raw_materials 表数据:


@foreach($branData as $brand)

   <h3>{{ $brand->name }}</h3>

   @foreach($brand->raw_materials as $raw_material)

       <div>{{ $raw_material->name }}</div>

       <div>{{ $raw_material->quantity }}</div>

   @endforeach

@endforeach


查看完整回答
反对 回复 2021-08-28
  • 2 回答
  • 0 关注
  • 195 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信