31 lines
633 B
PHP
31 lines
633 B
PHP
<?php
|
|
|
|
namespace App\Utilities;
|
|
|
|
use PDOException;
|
|
|
|
class DatabaseFunctions
|
|
{
|
|
public static function save_update($query)
|
|
{
|
|
$max_tries = 5;
|
|
$tries = 0;
|
|
do {
|
|
$retry = false;
|
|
try {
|
|
|
|
$query->save();
|
|
|
|
return $query;
|
|
} catch (PDOException $exc) {
|
|
if ($tries < $max_tries && $exc->errorInfo[0] == 40001 && $exc->errorInfo[1] == 1213) {
|
|
$retry = true;
|
|
sleep(1);
|
|
} else {
|
|
throw $exc;
|
|
}
|
|
}
|
|
} while ($retry);
|
|
}
|
|
}
|