首页 > 解决方案 > 两个数组合二为一 foreach Laravel

问题描述

我有两张表,第一张叫代码,第二张叫公司

代码表结构:
id| 标题 | 描述 | 公司| 命令

公司表结构:
id| 姓名

这是我的控制器的代码

 $codes= DB::table('codes')->orderBy('company', 'ASC')->get();
 $company = Company::all();
 return view('codes.index',compact('codes', 'company'));

这是我认为的代码。

 @foreach($codes as $code)
   <tr>
    <td>{{$code->title}}</td>
    <td>{{$code->code}}</td>
    <td>{{$company->name}}</td>  
    <td>{{$code->order}}</td>
   </tr>
  @endforeach

我无法获得公司名称。怎么可能?谢谢大家

标签: phparrayslaravel

解决方案


$services = Services::orderBy('company', 'ASC')->with('company')->get();
return view('services.index',compact('services'));

看法

@foreach($codes as $code)
   <tr>
    <td>{{$code->title}}</td>
    <td>{{$code->code}}</td>
    <td>{{$code->company->name}}</td>  
    <td>{{$code->order}}</td>
   </tr>
@endforeach

我不知道确切的名字,因为我写它们是因为那个近似值。如果公司定义为id,则可以使用获取公司信息。您只需在服务模型中定义此模型。

 public function company()
 {
    return $this->belongsTo(Companies::class);
 }

推荐阅读