Проверка на дубль и добавление API MODX
Подскажите, как сделать проверку на дубль записи в базе, и если дубля нет добавлять в базу данные методами API MODX? Сейчас написано вот так:
Выводятся странные ошибки. Нужно из простой формы добавить в базу запись из фронт энда, форма вот такая:
$domain = htmlspecialchars($_POST['domain']);
$created_by = $modx->user->get('id');
// Проверка на дубль
$a = $modx->getObject('seoPanelSites', array('domain' => $domain));
$a = $a->toArray();
$url = $a["domain"];
if($_POST["domain"] != $url) {
// Сохранение в таблицу
$site = $modx->newObject('seoPanelSites');
$site->fromArray(
array(
'domain' => $domain,
'tic' => $cy,
'pr' => $pr,
'yaca' => $yaca_cat,
'dmoz' => $dmoz_cat,
'yaindex' => $yaindex,
'yaindex_up' => $yaindex_up,
'gooindex' => $gooindex_count,
'gooindex_up' => $gooindex_up,
'liveinternet' => 0,
'domainend' => $whois_days,
'sorting_id' => $sorting_id,
'created_by' => $created_by
)
);
$site->save();
} else {
echo 'В базе уже имеется такая запись!';
}
Выводятся странные ошибки. Нужно из простой формы добавить в базу запись из фронт энда, форма вот такая:
<form class="bs-example form-horizontal" action="[[~[[*id]]]]" method="post">
<input type="hidden" value="[[!+id]]" name="seopanel">
<fieldset>
<div class="form-group [[!+error.domain:notempty=`has-error`]]">
<label for="domain" class="col-lg-4 control-label">Домен (без www)</label>
<div class="col-lg-8">
<input type="text" value="[[!+domain]]" class="form-control"
id="student" placeholder="site.ru" name="domain">
<span class="help-block">[[!+error.domain]]</span>
</div>
</div>
</fieldset>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Закрыть</button>
<button type="submit" class="btn btn-primary">Сохранить</button>
</div>
</form>
Может как-то через AjaxForm или AjaxSnippet можно сделать? Комментарии: 3
Если domain уникальное поле, то
if ($modx->getCount('seoPanelSites', array('domain' => $domain)) == 0) {
// здесь остальное из if
}
В вашем варианте получаете результат null в getObject вместо объекта, и поэтому дальше не идет.
Спасибо, всё заработало. Домены добавляются) А не в курсе как в pdoPage можно сделать выборку по полям? Рисуется таблица с параметрами и при нажатии скажем на тИЦ показывал сначало сайты с большим тИЦ и так по всем полям? Есть ли какое-то простое решение?
А как после сохранения данных кэш сбрасывать добавленной записи в БД через API MODX?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.