Aslında tam olarak yapmak istediğim şey şu bazı alanlar var sadece 1 kere oluşacak daha sonra buna bağlı alt kayıtlar oluşacak e ticarette excel ile toplu sipariş girme gibi düşünebiliriz.
https://prnt.sc/u2GJlBzkGLPp excel yapısı bu şekilde ama tam kafam da oturttuğumu söyleyemem 1. sutun sale bilgilerini alıp 2. sutundan itibaren alt ürün kayıtlarını alıp db'ye toplu sipariş olarak ekletmek istiyorum.
Aşağıda kullandığım kod yapısını da ekliyorum.
public function model(array $row)
{
$sale = Sale::create([
'stage' => $row['stage'],
'company_name' => $row['company_name'],
'tax_office' => $row['tax_office'],
'tax_number' => $row['tax_number'],
'authorized_person' => $row['authorized_person'],
'address' => $row['address'],
'customer_id' => $row['customer_id'],
'note' => $row['note'],
'importance' => $row['importance'],
'sales_group_id' => $row['sales_group_id'],
'request_number_child' => $row['request_number_child'],
'offer_number_child' => $row['offer_number_child'],
'sale_number_child' => $row['sale_number_child'],
'sale_date_child' => $row['sale_date_child'],
]);
while (isset($row["product_name"])) {
$product = Product::where('name', $row["product_name"])->first();
if ($product) {
SaleDetail::create([
'sale_id' => $sale->id,
'product_id' => $product->id,
'product_name' => $product->name,
'quantity' => $row["quantity"],
'unit_price' => $product->price,
'discounted_price' => $product->price * (1 - ($row["discount"] ?? 0) / 100),
'net_amount' => $row["quantity"] * $product->price,
'tax' => 20,
'delivery_date' => $row["delivery_date"],
'description' => $row["description"],
]);
}
}
return $sale;
}