如果 model 的主键不是自增的,请在 resource model 中写上 $_isPkAutoIncrement = false
通常我们创建一个 model 关联一张表。比如说我表的主键是 sample_id
,他不是自增的。那么使用下面的代码,本来我想插入数据,实际表现却不是很正常,可能插入不了,要么做了更新操作。但是神奇的是可以从数据库中取数据。
插入数据可能不正常
$data = array('sample_id'=>'new_id','custid'=>1,'info'=>'info');
$model = Mage::getModel('interface/data')->setData($data);
$model->save();
读数据正常
$sample = Mage::getModel('interface/data')->load('sample_id')
var_dump($sample->getData());
原因就是 resource model 中 $_isPkAutoIncrement
没有设置为 false 。该属性是用来判断主键是否自增的,默认为 true ,就是主键自增。