我是 laravel 的新手。我使用了 laravel 5.4我有这个问题,我不知道从哪里开始。我想计算存储中所有类别都是电子的所有资产。这是我的表:资产 -- id asset_name asset_type_id (fk)资产类型 -- id asset_type category_id (fk)类别 -- id category这是我定义的模型:资产模型public function assetType(){ return $this->belongsTo(AssetType::class);}public function category(){ return $this->belongsTo(Category::class);}资产类型模型public function category(){ return $this->belongsTo(Category::class); }public function assets(){ return $this->hasMany(Asset::class);}类别模型public function types(){ return $this->hasMany(AssetType::class);}控制器:资产控制器public function index() { $result = Asset::all(); return view('asset.index', compact('result')); }看法:索引刀片@foreach($result as $asset)<tr> <td>{{ $asset->asset_name }}</td> <td>{{ $asset->assetType->asset_type}}</td> <td>{{ $asset->assetType->category->category}}</td></tr>@endforeach样本结果:Asset: DELLAsset Type: LaptopCategory: Electronic有了它,我可以查看所有资产。我正在尝试获取控制器中类别为电子的所有资产的计数并将其传递给查看。请赐教我迷路了。
1 回答
喵喔喔
TA贡献1735条经验 获得超5个赞
您可以在您的喜欢上使用Has Many Through关系。Category
类别模型
public function assets()
{
return $this->hasManyThrough(Asset::class, AssetType::class);
}
有了这个,您可以轻松地Asset从Category. 现在assets在您的控制器中计算您的:
Category::where('category', 'Electronic')->withCount('assets')->get();
- 1 回答
- 0 关注
- 68 浏览
添加回答
举报
0/150
提交
取消