为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel - 获取关系计数

Laravel - 获取关系计数

PHP
暮色呼如 2022-10-28 09:14:26
我是 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();




查看完整回答
反对 回复 2022-10-28
  • 1 回答
  • 0 关注
  • 68 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信