class Setting extends Eloquent {
public $primaryKey = 'key';
public $timestamps = false;
public $fillable = array('*');
}
我的表格settings
包含两列:key
和value
。
当我尝试执行时:
Setting::create(array(
'key' => 'test',
'value'=> 'test1'
));
我明白了:
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'PRIMARY' (SQL: insert into
设置() values ()) (Bindings: array ( ))
这非常奇怪。有任何想法吗?我在2个表上试过这个,它有同样的问题。我的Laravel版本是最新的。
答案 0 :(得分:0)
您能否向您展示数据库表定义。你确定'key'真的被设置为你桌子上的PRIMARY键吗?我想到的第一件事是你可能在'settings'表中设置了不同的字段作为PRIMARY('id'或者其他东西)而你没有为该字段设置'auto_increment'标志。