0

我正在开发 prestashop,并实现了一个 web 服务。我有大量数据,我想使用 Web 服务将其插入 prestashop。我尝试发送大块数据,一切似乎都运行良好,但是当我使用真实数据启动真实脚本时,出现问题,我会尝试解释它。我想插入所有产品的所有属性组合,所以,基本上,我有两个属性的两个 ID,例如:

颜色:红色(ID:1300)

尺码 : XXL (ID:1934)

我也有我想与他们关联的产品的 ID,例如17909. 所有这些信息都是“直接”从数据库中获取的,所以没有网络服务,好吧,现在我想将它们发送到网络服务并告诉网络服务它必须为这个产品添加这个组合,调用是这样的:

$webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG);
$opt = array('resource' => 'combinations'); 
$xml_ins = $webService->get(array('url' => PS_SHOP_PATH.'/api/combinations?schema=blank')); 
                                                    
$combinations = $xml_ins->children()->children();                                       
$combinations->id_product = $id_prodotto;                                       
$combinations->quantity = $quantita_combinazione;
$combinations->minimal_quantity = '1';
$combinations->default_on = '1';
                                                    
unset($combinations->associations->product_option_values->product_option_value);
$combinations->associations->product_option_values->addChild('product_option_value')->addChild('id', $id_colore);
$combinations->associations->product_option_values->addChild('product_option_value')->addChild('id', $id_taglia);                               
                                                    
                                                
$opt = array('resource' => 'combinations');
$opt['postXml'] = $xml_ins->asXML();        
$xml_ins = $webService->add($opt);

有没有办法知道最后一行$xml_ins = $webService->add($opt);是否以正确的方式执行?实际上,我用 a 包围了所有内容,try catch但在执行大约 10 分钟后,除了几十个之外,所有组合都已插入。我没有错误,脚本只是......停止......就像在嵌套循环中打开太多try catch有点mh......很重,其中一些丢失......

我想了解该调用是否是异步调用......或者可以保持“开放”并与之后的所有其他调用堆叠的东西......一种嵌套的开放对象调用,如果你知道我的意思的话。

4

0 回答 0