我有两个表,分别是类别和产品。我必须计算表产品中的类似数据并在表类别中显示计数。我在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中实现上述查询。我该怎么办?
答案 0 :(得分:0)
我需要更多详细信息,但我假设一个产品映射到多个类别,因此将有一个名为Category的模型文件映射到表类别,并且会有Product.php模型文件映射到产品表
在您受控的代码段下方会有所帮助
App\Product::withCount('categories')->get()
请确保您的Product.php(模型文件)中包含以下内容
public function categories()
{
return $this->hasMany('\App\Category');
}
请注意,与产品关联的类别的计数将作为集合中的Categories_count返回