no such field mentioned in the code
Laeavel Relationship
"I need help creating a relationship in my database. Specifically, I'm trying to save the 'edit_warranty' field in the 'product_sales' table using the store function in my sale controller. However, I'm unsure if there's something missing or if I'm doing something wrong because I'm not getting any results when I try to save the date. Can you please help me find a solution? I've included my code below for reference."
public function store(Request $request) { $data = $request->all(); if(isset($request->reference_no)) { $this->validate($request, [ 'reference_no' => [ 'max:191', 'required', 'unique:sales' ], ]); }
$data['user_id'] = Auth::id();
$cash_register_data = CashRegister::where([
['user_id', $data['user_id']],
['warehouse_id', $data['warehouse_id']],
['status', true]
])->first();
if($cash_register_data)
$data['cash_register_id'] = $cash_register_data->id;
if(isset($data['created_at']))
$data['created_at'] = date("Y-m-d H:i:s", strtotime($data['created_at']));
else
$data['created_at'] = date("Y-m-d H:i:s");
//return dd($data);
if($data['pos']) {
if(!isset($data['reference_no']))
$data['reference_no'] = 'posr-' . date("Ymd") . '-'. date("his");
$balance = $data['grand_total'] - $data['paid_amount'];
if($balance > 0 || $balance < 0)
$data['payment_status'] = 2;
else
$data['payment_status'] = 4;
if($data['draft']) {
$lims_sale_data = Sale::find($data['sale_id']);
$lims_product_sale_data = Product_Sale::where('sale_id', $data['sale_id'])->get();
foreach ($lims_product_sale_data as $product_sale_data) {
$product_sale_data->delete();
}
$lims_sale_data->delete();
}
}
else {
if(!isset($data['reference_no']))
$data['reference_no'] = 'sr-' . date("Ymd") . '-'. date("his");
}
$document = $request->document;
if ($document) {
$v = Validator::make(
[
'extension' => strtolower($request->document->getClientOriginalExtension()),
],
[
'extension' => 'in:jpg,jpeg,png,gif,pdf,csv,docx,xlsx,txt',
]
);
if ($v->fails())
return redirect()->back()->withErrors($v->errors());
$documentName = $document->getClientOriginalName();
$document->move('public/sale/documents', $documentName);
$data['document'] = $documentName;
}
if($data['coupon_active']) {
$lims_coupon_data = Coupon::find($data['coupon_id']);
$lims_coupon_data->used += 1;
$lims_coupon_data->save();
}
$lims_sale_data = Sale::create($data);
$lims_customer_data = Customer::find($data['customer_id']);
$lims_reward_point_setting_data = RewardPointSetting::latest()->first();
//checking if customer gets some points or not
if($lims_reward_point_setting_data->is_active && $data['grand_total'] >= $lims_reward_point_setting_data->minimum_amount) {
$point = (int)($data['grand_total'] / $lims_reward_point_setting_data->per_point_amount);
$lims_customer_data->points += $point;
$lims_customer_data->save();
}
//collecting male data
$mail_data['email'] = $lims_customer_data->email;
$mail_data['reference_no'] = $lims_sale_data->reference_no;
$mail_data['sale_status'] = $lims_sale_data->sale_status;
$mail_data['payment_status'] = $lims_sale_data->payment_status;
$mail_data['total_qty'] = $lims_sale_data->total_qty;
$mail_data['total_price'] = $lims_sale_data->total_price;
$mail_data['order_tax'] = $lims_sale_data->order_tax;
$mail_data['order_tax_rate'] = $lims_sale_data->order_tax_rate;
$mail_data['order_discount'] = $lims_sale_data->order_discount;
$mail_data['shipping_cost'] = $lims_sale_data->shipping_cost;
$mail_data['grand_total'] = $lims_sale_data->grand_total;
$mail_data['paid_amount'] = $lims_sale_data->paid_amount;
$product_id = $data['product_id'];
$product_batch_id = $data['product_batch_id'];
$imei_number = $data['imei_number'];
$product_code = $data['product_code'];
$qty = $data['qty'];
$sale_unit = $data['sale_unit'];
$net_unit_price = $data['net_unit_price'];
$discount = $data['discount'];
$tax_rate = $data['tax_rate'];
$tax = $data['tax'];
$total = $data['subtotal'];
$product_sale = [];
foreach ($product_id as $i => $id) {
$lims_product_data = Product::where('id', $id)->first();
$product_sale['variant_id'] = null;
$product_sale['product_batch_id'] = null;
if($lims_product_data->type == 'combo' && $data['sale_status'] == 1){
$product_list = explode(",", $lims_product_data->product_list);
$variant_list = explode(",", $lims_product_data->variant_list);
if($lims_product_data->variant_list)
$variant_list = explode(",", $lims_product_data->variant_list);
else
$variant_list = [];
$qty_list = explode(",", $lims_product_data->qty_list);
$price_list = explode(",", $lims_product_data->price_list);
foreach ($product_list as $key=>$child_id) {
$child_data = Product::find($child_id);
if(count($variant_list) && $variant_list[$key]) {
$child_product_variant_data = ProductVariant::where([
['product_id', $child_id],
['variant_id', $variant_list[$key]]
])->first();
$child_warehouse_data = Product_Warehouse::where([
['product_id', $child_id],
['variant_id', $variant_list[$key]],
['warehouse_id', $data['warehouse_id'] ],
])->first();
$child_product_variant_data->qty -= $qty[$i] * $qty_list[$key];
$child_product_variant_data->save();
}
else {
$child_warehouse_data = Product_Warehouse::where([
['product_id', $child_id],
['warehouse_id', $data['warehouse_id'] ],
])->first();
}
$child_data->qty -= $qty[$i] * $qty_list[$key];
$child_warehouse_data->qty -= $qty[$i] * $qty_list[$key];
$child_data->save();
$child_warehouse_data->save();
}
}
if($sale_unit[$i] != 'n/a') {
$lims_sale_unit_data = Unit::where('unit_name', $sale_unit[$i])->first();
$sale_unit_id = $lims_sale_unit_data->id;
if($lims_product_data->is_variant) {
$lims_product_variant_data = ProductVariant::select('id', 'variant_id', 'qty')->FindExactProductWithCode($id, $product_code[$i])->first();
$product_sale['variant_id'] = $lims_product_variant_data->variant_id;
}
if($lims_product_data->is_batch && $product_batch_id[$i]) {
$product_sale['product_batch_id'] = $product_batch_id[$i];
}
if($data['sale_status'] == 1) {
if($lims_sale_unit_data->operator == '*')
$quantity = $qty[$i] * $lims_sale_unit_data->operation_value;
elseif($lims_sale_unit_data->operator == '/')
$quantity = $qty[$i] / $lims_sale_unit_data->operation_value;
//deduct quantity
$lims_product_data->qty = $lims_product_data->qty - $quantity;
$lims_product_data->save();
//deduct product variant quantity if exist
if($lims_product_data->is_variant) {
$lims_product_variant_data->qty -= $quantity;
$lims_product_variant_data->save();
$lims_product_warehouse_data = Product_Warehouse::FindProductWithVariant($id, $lims_product_variant_data->variant_id, $data['warehouse_id'])->first();
}
elseif($product_batch_id[$i]) {
$lims_product_warehouse_data = Product_Warehouse::where([
['product_batch_id', $product_batch_id[$i] ],
['warehouse_id', $data['warehouse_id'] ]
])->first();
$lims_product_batch_data = ProductBatch::find($product_batch_id[$i]);
//deduct product batch quantity
$lims_product_batch_data->qty -= $quantity;
$lims_product_batch_data->save();
}
else {
$lims_product_warehouse_data = Product_Warehouse::FindProductWithoutVariant($id, $data['warehouse_id'])->first();
}
//deduct quantity from warehouse
$lims_product_warehouse_data->qty -= $quantity;
$lims_product_warehouse_data->save();
}
}
else
$sale_unit_id = 0;
$data['grand_total'];
}
Please or to participate in this conversation.