Добавляется только 1 запись в таблицу.
Приветствую!
Есть форма, в ней количество полей <input name=«user+порядковый номер» и <input name=«jobtitle+порядковый номер» равняются $count — оно задается вручную.
Выводятся поля input нормально и нормально присваивается атрибут name.
К примеру если $count = 2
то будут 2 input с атрибутами name=user1 user2 и 2 c jobtitle1 jobtitle2 соответственно.
Есть сниппет, кусок кода ниже. Он должен обрабатывать данные из полей и записывать их в таблицу, но записывает только user1 и jobtitle1… остальные элементы > 1 под запись не попадают.
В чем может быть проблема?
Я так подозреваю нужно метод добавлять отдельный для этого?
p.s. сори, эт я идиот. Это поле таблицы стояло как уникальное =(
Есть форма, в ней количество полей <input name=«user+порядковый номер» и <input name=«jobtitle+порядковый номер» равняются $count — оно задается вручную.
Выводятся поля input нормально и нормально присваивается атрибут name.
К примеру если $count = 2
то будут 2 input с атрибутами name=user1 user2 и 2 c jobtitle1 jobtitle2 соответственно.
Есть сниппет, кусок кода ниже. Он должен обрабатывать данные из полей и записывать их в таблицу, но записывает только user1 и jobtitle1… остальные элементы > 1 под запись не попадают.
В чем может быть проблема?
Я так подозреваю нужно метод добавлять отдельный для этого?
for ($i = 1; $i <= $count; $i++) {
$users = $modx->newObject('docsUser');
$user = htmlentities(strip_tags(urldecode($_REQUEST['user' . $i])));
$job_title = htmlentities(strip_tags(urldecode($_REQUEST['jobtitle' . $i])));
$users -> fromArray(array(
'contract_id' => $contract->id,
'fio' => $user,
'job_title' => $job_title,
));
$users->save();
}
Пробовал отдельный метод создать: public function addUsers($contract_id = 0, $fio = '', $job = '') {
$dUser = $this->xpdo->newObject('docsUser');
$dUser-> fromArray(array(
'contract_id' => $contract_id,
'fio' => $fio,
'job_title' => $job,
), '', true, true);
return $dUser->save();
}
и вызывать в циклеfor ($i = 1; $i <= $count; $i++) {
$user = htmlentities(strip_tags(urldecode($_REQUEST['user' . $i])));
$job_title = htmlentities(strip_tags(urldecode($_REQUEST['jobtitle' . $i])));
$good = $contract->addUsers($contract->id, $user, $job_title);
}
один фиг только первые данные добавляет в таблицу… =(p.s. сори, эт я идиот. Это поле таблицы стояло как уникальное =(