2015-08-24 20 views
2

我有這個表如何使用無脂肪的ORM將數據插入到唯一表中?

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(); 

但是沒有人可以創造記錄,也沒有錯誤。

將記錄插入此表的正確方法是什麼?

回答

3

無脂框架的映射器不會插入記錄沒有(更改/新)值除了主鍵。所以$fields數組是空的,Mapper跳過了insert operation

我不確定這是否符合bug

這裏是根據你提供的查詢和F3的SQL對象的簡單的解決方案:

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