我在寫一些常用功能的同時學習Laravel。現在我試圖做的是當我點擊主分類鏈接打開新頁面並顯示分配給這個分類的所有子分類。聽起來很簡單,但我無法顯示它們。在Laravel獲得主類別子類別的問題
這是我在我的分類模型
public function parent()
{
return $this->belongsTo('App\Category', 'parent_id');
}
public function children()
{
return $this->hasMany('App\Category', 'parent_id');
}
並在控制器
public function categoryListing($category_id)
{
$categories = Category::with('children')->get();
$category = Category::find($category_id);
if($category->parent_id == 0) {
$ids = Category::select('id')->where('parent_id', '!=',0)->get();
$array = array();
foreach ($ids as $id) {
$array[] = (int) $id->id;
}
} else {
$items = Item::where('category_id' ,$category_id)->paginate(5);
}
return view('category_list', compact('categories','items'));
}
這裏的想法是,以顯示主要類別,這主要類別的所有子類(孩子的) 。 這是頁面上的循環
@foreach($categories as $category)
<a href="{!!route('list',array($category->id))!!}">
<span><strong>{!!$category->title!!}</strong> ({!! $category->itemCount!!})</span>
</a>
<ul class="list-group">
@foreach($category as $subcategory)
<a href="{!!route('list',array($subcategory->id))!!}">{!!$subcategory->title!!}</a>
<span class="badge badge-primary badge-pill">{!! $subcategory->itemCount !!}</span>
</li>
@endforeach
</ul>
@endforeach
電流誤差
試圖在裏面的foreach得到非對象
的財產。
能否請您試試這個'$子類別[「標題」];'和'$子類別[「temCount」] ;'裏面的foreach。 –
它正在返回一些有線的東西。結果是第一個foreach中的所有類別和子類別。第二個foreach應該顯示的子類別是空的 – Peter
我知道這是完全混亂的,可能有更簡單和更簡單的方法來將主類別與子類別分配給它.. – Peter