стикнувся з такою проблемою. пишу компонент, хочу зберігати дані по правильному через таблицю, а не запитом "INSERT TO", оскільки назви полів, що приходять через метод post відрізняються від наз полів в створеної таблиці JTable я не можу скористатись простим ->save() тому роблю так:
Код: Виділити все
public function savesend() {
$user =& JFactory::getUser();
$row =& $this->getTable();
foreach ($items as $item) {
$row->reset();
$row->set('send_date', date("Y-m-d h:i:s"));
$row->set('author', $user->id);
if (!$row->store()) {
$this->setError( $row->getErrorMsg() );
return false;
}
}
зберігається лише останній доданий в базу запис, наскільки я розібрався тому, усі наступні записи в цьому циклі перезаписують попередній доданий запис через те, що $row->reset(); не обнуляє на дані по дефолту з файлу таблиці, тому на наступній інтерації циклу в $row поле ідентифікатора не пусте тому воно не додає ще один запис а оновлює попередній.
З.Ы. тимчасово вийшов з положення обнуляючи вручну параметр ідентифікатора в таблиці на початку інтерації
, таким чином все працює чудово, але це ж не вірно бо reset() повинен не лише ідентифікатор обнуляти, але і решту значень