我想使用Laravel显示与名称相关的描述

时间:2020-05-18 06:40:41

标签: laravel

我是Laravel的初学者,我有两个表,我想显示一个与名称有关的描述,并且我已经从模型中建立了关系。如何获取与名称相关的数据。

mf_facilities_categories table

sm_facilities table

模型工具

clean and flush

模型设施类别

class Facility extends Model
{
   protected $table="sm_facilities";
   protected $guarded = ['id','created_at','updated_at'];

   public function categories()
   {
      return $this->belongsTo('App\FacilityCategory','mf_facility_category_id','id');
   }                
}

控制器

class FacilityCategory extends Model
{
   protected $table = 'mf_facilities_categories';
   public function facilities()
   {
      return $this->hasOne('App\Facility');
   }
}

htmtl视图

class FacilityController extends Controller
{
   public function index()
   {
      $data=[
         'facility'=>Facility::with('categories')->where('status',1)->get()
          ];
      return view('facility');
   }
}

2 个答案:

答案 0 :(得分:2)

您可以拥有one-to-one关系

class FacilityCategory extends Model {
    ....
    public function facility() {
         return $this->hasOne('App\Facility');
    }

}

答案 1 :(得分:1)

您可以通过这种方式获得,Inside Facility模型可以更改这种关系

public function categories()
 {
   return $this->belongsTo('App\FacilityCategory','mf_facility_category_id','id');
 }

OR内部FacilityCategory模型具有一个关系

public function facilities()
{
  return $this->hasOne('App\Facility');
}

在控制器方法中

public function index()
 {
    return view('facility', [ 'facility' => Facility::with('categories')->where('status',1)->get() ]);
    //OR from category side you can this
    return view('facility', [ 'categories' => FacilityCategory::with('facilities')->where('status',1)->get() ]);
    //But FacilityCategory hasOne relation with Facility
 }

facility中循环查看,就像一个foreach循环i-e;

@foreach($facility as $facility_record)
  <section class="manufacturing-facilities">
         <div class="container">
         <div class="row">
         <div class="col-lg-6">
          <div class="section_title">
         <h1>{{ $facility_record->categories->name }}</h1>
         </div>
         <div class="des">
           <p>{{ $facility_record->description }}</p>
        </div>
      </div>
      <div class="col-lg-6">
    <div class="manuf-fac-img">
      <img src="{{url('')}}/assets/images/manuf-img.png" alt="Manufacturing">
   </div>
   </div>
   </div>
  </div>
</section>
@endforeach