如何在 ForEach 循环内的 Laravel Blade 中显示摘要数据?
How to show summary data in Laravel Blade inside of ForEach Loop?
我正在尝试在我的视图中显示一个 ForEach 循环,以显示每种代码类型。那部分有效。我无法弄清楚如何显示每种代码类型存在多少代码(存储在另一个 table 中)的计数。我不明白如何使用 code_type 的 ID 来查询 code_type_selected table 和 return 那算。
在我的 CodeType 模型中
protected $fillable = [
'name',
'color',
'icon'
];
public function codeTypesSelected() {
return $this->hasMany(CodeTypesSelected::class, 'code_type_id', 'id');
}
在我的 CodeTypeSelected 模型中
protected $fillable = [
'code_type_id',
'code_id',
];
public function codeTypes() {
return $this->belongsTo(CodeType::class, 'id', 'code_type_id');
}
在我的控制器中
public function index(Request $request)
{
$codeTypes = CodeType::latest()->get();
$codeTypesSelected = CodeTypesSelected::latest()->get()->groupBy('code_type_id');
//dd($codeTypesSelected);
return view('code_layout.index', compact('codeTypes', 'codeTypesSelected'));
}
在我看来
<!-- /. ROW -->
<div class="row">
@foreach($codeTypes as $codeTypeItem)
<div class="col-md-3 col-sm-12 col-xs-12">
<div class="panel panel-primary text-center no-boder bg-color-{{ $codeTypeItem->color }}">
<div class="panel-left pull-left {{ $codeTypeItem->color }}">
<i class="fa fa-{{ $codeTypeItem->icon }} fa-5x"></i>
</div>
<div class="panel-right">
<h3>
{{ count($codeTypesSelected) }}
</h3>
<strong> {{ $codeTypeItem->name }} </strong>
</div>
</div>
</div>
@endforeach
</div>
<!-- /. ROW -->
你试过这个吗
CodeType::latest()->withCount('codeTypesSelected')->get()
我正在尝试在我的视图中显示一个 ForEach 循环,以显示每种代码类型。那部分有效。我无法弄清楚如何显示每种代码类型存在多少代码(存储在另一个 table 中)的计数。我不明白如何使用 code_type 的 ID 来查询 code_type_selected table 和 return 那算。
在我的 CodeType 模型中
protected $fillable = [
'name',
'color',
'icon'
];
public function codeTypesSelected() {
return $this->hasMany(CodeTypesSelected::class, 'code_type_id', 'id');
}
在我的 CodeTypeSelected 模型中
protected $fillable = [
'code_type_id',
'code_id',
];
public function codeTypes() {
return $this->belongsTo(CodeType::class, 'id', 'code_type_id');
}
在我的控制器中
public function index(Request $request)
{
$codeTypes = CodeType::latest()->get();
$codeTypesSelected = CodeTypesSelected::latest()->get()->groupBy('code_type_id');
//dd($codeTypesSelected);
return view('code_layout.index', compact('codeTypes', 'codeTypesSelected'));
}
在我看来
<!-- /. ROW -->
<div class="row">
@foreach($codeTypes as $codeTypeItem)
<div class="col-md-3 col-sm-12 col-xs-12">
<div class="panel panel-primary text-center no-boder bg-color-{{ $codeTypeItem->color }}">
<div class="panel-left pull-left {{ $codeTypeItem->color }}">
<i class="fa fa-{{ $codeTypeItem->icon }} fa-5x"></i>
</div>
<div class="panel-right">
<h3>
{{ count($codeTypesSelected) }}
</h3>
<strong> {{ $codeTypeItem->name }} </strong>
</div>
</div>
</div>
@endforeach
</div>
<!-- /. ROW -->
你试过这个吗
CodeType::latest()->withCount('codeTypesSelected')->get()