app\code\local\Magestore\Coresuccess\Model\Mysql4\QueryProcessor.php line 50:
Đoạn này có thể sẽ throw lỗi foreign key từ SQL (case: https://magestore.zendesk.com/agent/tickets/43105 )
try{
$connection->beginTransaction();
foreach($queries as $queryData) {
if(!isset($queryData['type'])) {
continue;
}
switch($queryData['type']) {
case self::QUERY_TYPE_INSERT:
$connection->insertOnDuplicate($queryData['table'], $queryData['values']);
break;
case self::QUERY_TYPE_UPDATE:
$connection->update($queryData['table'], $queryData['values'], $queryData['condition']);
break;
case self::QUERY_TYPE_DELETE:
$connection->delete($queryData['table'], $queryData['condition']);
break;
}
}
$connection->commit();
} catch (Exception $e) {
$connection->rollBack();
throw new Exception($e->getMessage());
}
Suggested fix:
try{
$connection->beginTransaction();
$connection->query('SET FOREIGN_KEY_CHECKS = 0');
foreach($queries as $queryData) {
if(!isset($queryData['type'])) {
continue;
}
switch($queryData['type']) {
case self::QUERY_TYPE_INSERT:
$connection->insertOnDuplicate($queryData['table'], $queryData['values']);
break;
case self::QUERY_TYPE_UPDATE:
$connection->update($queryData['table'], $queryData['values'], $queryData['condition']);
break;
case self::QUERY_TYPE_DELETE:
$connection->delete($queryData['table'], $queryData['condition']);
break;
}
}
$connection->query('SET FOREIGN_KEY_CHECKS = 1');
$connection->commit();
} catch (Exception $e) {
$connection->rollBack();
throw new Exception($e->getMessage());
}
app\code\local\Magestore\Coresuccess\Model\Mysql4\QueryProcessor.php line 50:
Đoạn này có thể sẽ throw lỗi foreign key từ SQL (case: https://magestore.zendesk.com/agent/tickets/43105 )
try{
$connection->beginTransaction();
foreach($queries as $queryData) {
if(!isset($queryData['type'])) {
continue;
}
switch($queryData['type']) {
case self::QUERY_TYPE_INSERT:
$connection->insertOnDuplicate($queryData['table'], $queryData['values']);
break;
case self::QUERY_TYPE_UPDATE:
$connection->update($queryData['table'], $queryData['values'], $queryData['condition']);
break;
case self::QUERY_TYPE_DELETE:
$connection->delete($queryData['table'], $queryData['condition']);
break;
}
}
$connection->commit();
} catch (Exception $e) {
$connection->rollBack();
throw new Exception($e->getMessage());
}
Suggested fix:
try{
$connection->beginTransaction();
$connection->query('SET FOREIGN_KEY_CHECKS = 0');
foreach($queries as $queryData) {
if(!isset($queryData['type'])) {
continue;
}
switch($queryData['type']) {
case self::QUERY_TYPE_INSERT:
$connection->insertOnDuplicate($queryData['table'], $queryData['values']);
break;
case self::QUERY_TYPE_UPDATE:
$connection->update($queryData['table'], $queryData['values'], $queryData['condition']);
break;
case self::QUERY_TYPE_DELETE:
$connection->delete($queryData['table'], $queryData['condition']);
break;
}
}
$connection->query('SET FOREIGN_KEY_CHECKS = 1');
$connection->commit();
} catch (Exception $e) {
$connection->rollBack();
throw new Exception($e->getMessage());
}