I have three tables
and I made this relations
serviceCat
public function serviceSubCat()
{
return $this->hasMany('ServiceSubCat');
}
serviceSubCat
public function ServicesCat()
{
return $this->belongsTo('ServiceCat', 'cat_id');
}
public function ssContent()
{
return $this->hasMany('SubCatContent');
}
subCatContent
public function ssCat()
{
return $this->belongsTo('ServiceSubCat', 'sub_cat_id');
}
I need to grape data from the three tables to use them.
here is my controller
public function show($id)
{
$serCat = ServiceCat::where('id', $id)->first();
$getId = $serCat->sub_status;
if ($getId == 1) {
$subCats = ServiceSubCat::with('ssContent')->where('cat_id', $id)->get();
//dd($subCats);
return View::make('portal.services.servicesDetailsList', compact('serCat', 'subCats'));
} else {
return View::make('portal.services.servicesDetails');
}
}
now I get Error
Column not found
I need to get the cat_name, sub_cat_name, title, content
Make sure your relations are defined as:
serviceCat
public function serviceSubCat()
{
return $this->hasMany('ServiceSubCat', 'cat_id');
}
serviceSubCat
public function ServicesCat()
{
return $this->belongsTo('ServiceCat', 'cat_id');
}
public function ssContent()
{
return $this->hasMany('SubCatContent', 'sub_cat_id');
}
subCatContent
public function ssCat()
{
return $this->belongsTo('ServiceSubCat', 'sub_cat_id');
}
your controller
public function show($id)
{
$serCat = ServiceCat::where('id', $id)->with('serviceSubCat.ssContent')->first();
$getId = $serCat->sub_status;
if ($getId == 1) {
return View::make('portal.services.servicesDetailsList', compact('serCat'));
} else {
return View::make('portal.services.servicesDetails');
}
}
Then in your view you can do as:
{{ $serCat->cat_name }}
@foreach ($serCat->serviceSubCat as $ser)
{{ $ser->sub_cat_name }}
@foreach ($ser->ssContent as $subCatContent)
{{ $subCatContent->title }}
{{ $subCatContent->content }}
@endforeach
@endforeach
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.