Как обновить данные в таблице по API MODX?
Всем привет. Написал небольшой скрипт импорта цен из API REG.RU, хотелось бы при повторном запуске скрипта обновлять существующие данные. Как лучше проверить таблицу на существование данных и как обновить данные в условии?
Вот что у меня вышло:
Вот что у меня вышло:
$object = $modx->newObject('PayPanelDomain');
if($object->get('zone') == null) {
$object->set('zone', $zone);
$object->set('domain', $domain);
$object->set('whois', '');
$object->set('idn', $idn);
$object->set('groups', '');
$object->set('popular', 0);
$object->set('min', $reg_min_period);
$object->set('max', $reg_max_period);
$object->set('price_retail', $retail_reg_price);
$object->set('price_partner', $reg_price);
$object->set('percent', $procent);
$object->set('advance', $price_procent);
$object->set('price', $price);
$object->set('active', 1);
$object->save();
} else {
if($object->get('zone') != null) {
echo 'Таблица заполнена!';
}
}
Комментарии: 1
// Если такой зоны еще нет
if (!$object = $modx->getObject('PayPanelDomain', ['zone' => $zone])) {
// Создаём её
$object = $modx->newObject('PayPanelDomain');
// И прописываем уникальный ключ
$object->set('zone', $zone);
}
// А дальше уже выставляем остальные свойства
// Не важно, создание это новой, или обновление старой записи
$object->set('domain', $domain);
$object->set('whois', '');
$object->set('idn', $idn);
$object->set('groups', '');
$object->set('popular', 0);
$object->set('min', $reg_min_period);
$object->set('max', $reg_max_period);
$object->set('price_retail', $retail_reg_price);
$object->set('price_partner', $reg_price);
$object->set('percent', $procent);
$object->set('advance', $price_procent);
$object->set('price', $price);
$object->set('active', 1);
$object->save();
Подразумевается, что поле zone у PayPanelDomain уникально.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.