[英]Array to String Conversion Error: How to solve this error in PHP, I have provided the control flow of code
保存銷售后出現錯誤,更新產品功能發生錯誤,當我更新產品時,此功能工作正常,但是當我嘗試使用 edit-sales 更新產品時,它給了我這個錯誤。
圖 1 是我在保存編輯后的銷售后遇到的錯誤.. 圖 2 是發生錯誤的代碼..
這是 controller.sales(正在調用 model.edit-sales)
static public function ctrEditSale(){
if(isset($_POST["editSale"])){
/*=============================================
FORMAT PRODUCTS AND CUSTOMERS TABLES
=============================================*/
$table = "sales";
$item = "code";
$value = $_POST["editSale"];
$getSale = ModelSales::mdlShowSales($table, $item, $value);
/*=============================================
CHECK IF THERE'S ANY EDITED SALE
=============================================*/
if($_POST["productsList"] == ""){
$productsList = $getSale["products"];
$productChange = false;
}else{
$productsList = $_POST["productsList"];
$productChange = true;
}
if($productChange){
$products = json_decode($getSale["products"], true);
$totalPurchasedProducts = array();
foreach ($products as $key => $value) {
array_push($totalPurchasedProducts, $value["quantity"]);
$tableProducts = "products";
$item = "id";
$value1 = $value["id"];
$order = "id";
$getProduct = ProductsModel::mdlShowProducts($tableProducts, $item, $value1, $order);
$item1a = "sales";
$value1a = $getProduct["sales"] - $value["quantity"];
$newSales = ProductsModel::mdlUpdateProduct($tableProducts, $item1a, $value1a, $value);
$item1b = "stock";
$value1b = $value["quantity"] + $getProduct["stock"];
$stockNew = ProductsModel::mdlUpdateProduct($tableProducts, $item1b, $value1b, $value);
}
$tableCustomers = "customers";
$itemCustomer = "id";
$valueCustomer = $_POST["selectCustomer"];
$getCustomer = ModelCustomers::mdlShowCustomers($tableCustomers, $itemCustomer, $valueCustomer);
$item1a = "purchases";
$value1a = $getCustomer["purchases"] - array_sum($totalPurchasedProducts);
$customerPurchases = ModelCustomers::mdlUpdateCustomer($tableCustomers, $item1a, $value1a, $valueCustomer);
/*=============================================
UPDATE THE CUSTOMER'S PURCHASES AND REDUCE THE STOCK AND INCREMENT PRODUCT SALES
=============================================*/
$productsList_2 = json_decode($productsList, true);
$totalPurchasedProducts_2 = array();
foreach ($productsList_2 as $key => $value) {
array_push($totalPurchasedProducts_2, $value["quantity"]);
$tableProducts_2 = "products";
$item_2 = "id";
$value_2 = $value["id"];
$order = "id";
$getProduct_2 = ProductsModel::mdlShowProducts($tableProducts_2, $item_2, $value_2, $order);
$item1a_2 = "sales";
$value1a_2 = $value["quantity"] + $getProduct_2["sales"];
$newSales_2 = ProductsModel::mdlUpdateProduct($tableProducts_2, $item1a_2, $value1a_2, $value_2);
$item1b_2 = "stock";
$value1b_2 = $getProduct_2["stock"] - $value["quantity"];
$newStock_2 = ProductsModel::mdlUpdateProduct($tableProducts_2, $item1b_2, $value1b_2, $value_2);
}
$tableCustomers_2 = "customers";
$item_2 = "id";
$value_2 = $_POST["selectCustomer"];
$getCustomer_2 = ModelCustomers::mdlShowCustomers($tableCustomers_2, $item_2, $value_2);
$item1a_2 = "purchases";
$value1a_2 = array_sum($totalPurchasedProducts_2) + $getCustomer_2["purchases"];
$customerPurchases_2 = ModelCustomers::mdlUpdateCustomer($tableCustomers_2, $item1a_2, $value1a_2, $value_2);
$item1b_2 = "lastPurchase";
date_default_timezone_set('America/Bogota');
$date = date('Y-m-d');
$hour = date('H:i:s');
$value1b_2 = $date.' '.$hour;
$dateCustomer_2 = ModelCustomers::mdlUpdateCustomer($tableCustomers_2, $item1b_2, $value1b_2, $value_2);
}
/*=============================================
SAVE PURCHASE CHANGES
=============================================*/
$data = array("idSeller"=>$_POST["idSeller"],
"idCustomer"=>$_POST["selectCustomer"],
"code"=>$_POST["editSale"],
"products"=>$productsList,
"tax"=>$_POST["newTaxPrice"],
"netPrice"=>$_POST["newNetPrice"],
"totalPrice"=>$_POST["saleTotal"],
"paymentMethod"=>$_POST["listPaymentMethod"]);
$answer = ModelSales::mdleditSale($table, $data);
if($answer == "ok"){
echo'<script>
localStorage.removeItem("range");
swal({
type: "success",
title: "The sale has been edited correctly",
showConfirmButton: true,
confirmButtonText: "Close"
}).then((result) => {
if (result.value) {
window.location = "sales";
}
})
</script>';
}
}
}
上面的代碼正在使用數據調用模型編輯銷售來更新數據庫
這是模型編輯銷售方法
您將最后一個屬性放入所有數組$value
,您只需要放入 id $value['id']
$item1a = "sales";
$value1a = $getProduct["sales"] - $value["quantity"];
$newSales = ProductsModel::mdlUpdateProduct($tableProducts, $item1a, $value1a, $value['id']);
$item1b = "stock";
$value1b = $value["quantity"] + $getProduct["stock"];
$stockNew = ProductsModel::mdlUpdateProduct($tableProducts, $item1b, $value1b, $value['id']);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.