Laravel eloquent 关系一对多

Laravel eloquent relationship one to many

我正在处理三个 table:产品、交货和库存。我希望当产品交付时,它在库存中的数量 table 会增加。所以在交付的控制器中 table 我写了这段代码:

$produit = Produit::find($delivery['produit_id']); 
$quantite = $produit->stock->quantite;
$quantite += $delivery['quantite'];
$quantite->save();

但是当我发货时,库存中的数量table没有改变。

PHP 中的简单类型不是通过引用,因此您必须将新值分配给 Stock 对象。这是假设 quantiteStock 模型上的整数,这在您提供的代码中并不完全清楚,因为您在 quantite 上调用 ->save() 。请记住保存 Stock 模型而不是 quantite

$stock = $produit->stock;
$stock->quantite = $stock->quantite + $delivery['quantite']
$stock->save();