Как использовать обезжиренный ORM для вставки данных в таблицу только id?

у меня есть эта таблица

CREATE TABLE IF NOT EXISTS `group` (
  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`id`),
  UNIQUE INDEX `id_UNIQUE` (`id` ASC))
ENGINE = InnoDB;

Это работа.

INSERT INTO `group` (`id`) VALUES (NULL);

Но я не могу вставить запись, используя обезжиренный

Я попробовал это.

$group=new DB\SQL\Mapper($f3->get('DB'),'group');
$group->save();

и это.

$group=new DB\SQL\Mapper($f3->get('DB'),'group');
$group->id=null;
$group->save();

и это.

$group=new DB\SQL\Mapper($f3->get('DB'),'group');
$group->id='null';
$group->save();

Но никто не может создать запись, и ошибки тоже нет.

Как правильно вставить запись в эту таблицу?


person CL So    schedule 24.08.2015    source источник


Ответы (1)


Mapper Fat-Free Framework не вставляет записи без (измененных/новых) значений, кроме первичного ключа. Таким образом, массив $fields пуст, и Mapper пропускает вставить операцию.

Я не уверен, можно ли считать это ошибкой.

Вот простое решение, основанное на предоставленном вами запросе и объекте SQL F3:

$sql = $f3->get('DB');
$sql->exec('INSERT INTO group (id) VALUES (NULL)');
person Rayne    schedule 24.08.2015