我是Laravel的初学者,我有两个表,我想显示一个与名称有关的描述,并且我已经从模型中建立了关系。如何获取与名称相关的数据。
模型工具
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');
}
}
答案 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