yusufc
yusufc Bu total değişkenini invoice modeline nasıl kayıt ederim ?
Bu ayrı sorgu gerektiren bir işlem, yani evet, güncelleme yapmanız lazım.
$invoice->lines()->create(...
olayının daima çalışacağından eminseniz $total = $lineCount * $unitPrice
olmuş oluyor aslında.
Şelale gibi kod yazıyorsunuz ona yapacak bir şey yok, mimari vs zamanla öğrenilebilecek bir şey ama en azından şöyle bir şey yapabilirsiniz:
Invoice modeli içine:
public function createLines(int $count, $unitPrice)
{
for ($i = 0; $i < $count; $i++) {
$this->lines()->create([
'unit_price' => $unitPrice
]);
}
$this->update([
'total' => $count * $unitPrice
]);
return $this->total;
}
Sonra
$invoice = Invoice::create([
'description' => $description
]);
$total = $invoce->createLines($request->input('productId'), $unitPrice);
yapılabilir.