initialize('web'); //$modx->getService('error','error.modError', '', ''); //$modx->getService('miniShop2'); // //$productPharmacy = [ // ['5adffb64-1bfa-11ea-80d5-0050568a2636', 'cb5d49b0-7709-11e1-ac43-001eec734bfe'], // have // ['5adffb64-1bfa-11ea-80d5-0050568a2636', '63d2c63f-4f3a-11e9-80df-74d02b97f71d'], // have // ['5adffb64-1bfa-11ea-80d5-0050568a2636', 'ac3b4976-bccf-11e4-80db-74d02b97f6a1'], // have but not in this pharmacies // ['5adffb64-1bfa-11ea-80d5-0050568a2636', '5b852163-939e-11eb-80ef-0050568a2636'] // not have in pharmacies sql //// ['c721dca4-0da0-11e8-80d5-74d02b97f71d', 'cb5d49b0-7709-11e1-ac43-001eec734bfe'], //// ['c721dca4-0da0-11e8-80d5-74d02b97f71d','63d2c63f-4f3a-11e9-80df-74d02b97f71d'] //]; // //$productIds = []; //$updateAvailable = []; //$dataProductsIds = []; //foreach($productPharmacy as $item){ // $productIds[] .= $item[1]; //} // //$queryProduct = $modx->newQuery('modResource'); //$queryProduct->leftJoin('msProductData', 'msProductData', 'msProductData.id=modResource.id'); //$queryProduct->leftJoin('msProductAmount', 'msProductAmount', 'msProductAmount.product=msProductData.uuid'); //// $queryProduct->limit(3000); //$queryProduct->where(['modResource.published' => 1, 'modResource.class_key' => 'msProduct', 'modResource.context_key' => 'web', 'msProductData.uuid:IN' => $productIds]); //$queryProduct->select(['msProductData.uuid as product_uuid', 'msProductAmount.pharmacy as pharmacy', 'msProductAmount.amount as amount', 'modResource.id as product_id']); //$queryProduct->prepare(); //$queryProduct->stmt->execute(); //$products = $queryProduct->stmt->fetchAll(PDO::FETCH_ASSOC); //foreach($products as $item){ // // формирование общей картины //// $dataProductsIds[$item["product_uuid"]][] = array('pharmacy' => $item['pharmacy'], 'product_id' => $item['product_id'], 'amount' => $item['amount']); //// $dataProductsIds[$item["product_uuid"]][] = array('available' => ($item['amount']>0) ? 1 : 0, 'amount' => $item['amount']); //// $dataProductsIds[$item["product_uuid"]]['amount'] += $item['amount']; // if($dataProductsIds[$item["product_uuid"]]!=1){ // if($item['amount']>0){ // $dataProductsIds[$item["product_uuid"]] = 1; // }else{ // $dataProductsIds[$item["product_uuid"]] = 0; // } // } //} //foreach($dataProductsIds as $key =>$item){ // $sqlUpdate = "UPDATE `modx_ms2_products` SET in_available='$item' WHERE uuid='$key';"; // $stmt = $modx->prepare($sqlUpdate); // $stmt->execute(); //}