如何在 Blade 视图中获取子类别状态和类别状态?
How to get subcategory status and category status on Blade view?
$categories = Category::with('subcategory')->where('status',1)->take(7)->get();
view()->share('categories', $categories);
模特类别:
protected $fillable =[
'category_en',
'category_np',
'status',
];
public function posts()
{
return $this->hasMany(Post::class);
}
public function subcategory()
{
return $this->hasMany(Subcategory::class); // category_id
}
模型子类别:
protected $fillable = [
'subcategory_en',
'status',
'category_id',
'subcategory_np',
];
public function category()
{
return $this->belongsTo(Category::class);
}
我的 blade 观点:
@foreach ($categories as $item)
<li>
<a href="#">{{ $item->category_en }}</a>
@if ($item->subcategory->count() > 0)
<ul class="nav-dropdown">
@foreach ($item->subcategory as $items)
<li>
<a href="#">{{ $items->subcategory_np }}</a>
</li>
@endforeach
</ul>
@endif
</li>
@endforeach
我得到了 category
状态 0 但没有得到 subcategory
状态 0。
我想在 blade 视图中同时获得 category
和 subcategory
状态 0。
我是laravel的新人,请帮忙
您可以像这样更改查询来为您的关系数据添加条件:
$categories = Category::with(['subcategory' => function($query){
$query->where('status', 1);
}])->where('status',1)->take(7)->get();
通过这样做,您将向关系数据添加 where 条件,它只会获取状态为 1 的所有子类别。
$categories = Category::with('subcategory')->where('status',1)->take(7)->get();
view()->share('categories', $categories);
模特类别:
protected $fillable =[
'category_en',
'category_np',
'status',
];
public function posts()
{
return $this->hasMany(Post::class);
}
public function subcategory()
{
return $this->hasMany(Subcategory::class); // category_id
}
模型子类别:
protected $fillable = [
'subcategory_en',
'status',
'category_id',
'subcategory_np',
];
public function category()
{
return $this->belongsTo(Category::class);
}
我的 blade 观点:
@foreach ($categories as $item)
<li>
<a href="#">{{ $item->category_en }}</a>
@if ($item->subcategory->count() > 0)
<ul class="nav-dropdown">
@foreach ($item->subcategory as $items)
<li>
<a href="#">{{ $items->subcategory_np }}</a>
</li>
@endforeach
</ul>
@endif
</li>
@endforeach
我得到了 category
状态 0 但没有得到 subcategory
状态 0。
我想在 blade 视图中同时获得 category
和 subcategory
状态 0。
我是laravel的新人,请帮忙
您可以像这样更改查询来为您的关系数据添加条件:
$categories = Category::with(['subcategory' => function($query){
$query->where('status', 1);
}])->where('status',1)->take(7)->get();
通过这样做,您将向关系数据添加 where 条件,它只会获取状态为 1 的所有子类别。