我在写一些常用功能的同时学习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