两个表之间存在多对多关系。 类别和产品表
,数据透视表是category_product
。
在我的类别表中,我有一个属性no_of_products
,它用于保留该类别下的产品数量,并且它可以为空(因为,我在添加该类别下的产品之前创建了该类别) .
在类别下保存产品后如何更新no_of_products
。这是我尝试过的,但我很困惑。
我是否必须从插入关系的数据透视表中进行计数?
我是数据库和 Laravel 的初学者。
产品 Controller
public function store(Request $request)
{
$product = new Product(array(
'name' => $request->get('name'),
));
$product->save();
$product->saveProduct($request->get('category'));
$count_product = Product::count();
}
最佳答案
您不需要在数据库中存储产品总数。您只需更新 App\Category
模型中的 $withCount
属性,如下所示:
protected $withCount = ['products'];
这将通过属性$category->products_count
自动为您提供某个类别的产品总数
关于php - 基于标识符的行计数 - Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46791224/