我有两个表作为类别和产品。我必须计算表格产品中的类似数据和表格类别中的显示计数。我在laravel中使用此查询来显示类别详细信息。
$data = CategoryModel::orderBy('id','ASC')->get();
在核心php中,我使用以下查询来显示表1中的计数数据。
SELECT tbl_category.*,(SELECT COUNT(*) FROM tbl_product
WHERE tbl_product.v_category = tbl_category.v_name) AS TOTAL FROM tbl_category
现在我想在laravel中实现上面的查询。我怎样才能做到这一点 ?
我需要更多细节,但我假设产品被映射到多个类别,因此会有一个名为Category的模型文件映射到表类别,并且会有Product.php模型文件映射到products表
你控制下面的片段会有所帮助
App\Product::withCount('categories')->get()
请确保您的Product.php(模型文件)中有以下内容
public function categories()
{
return $this->hasMany('\App\Category');
}
请注意,与产品关联的类别的计数将作为categories_count返回到集合中