这是我第一次遇到这个问题。保存我的某个模型时,我收到错误消息:“此行已标记为只读”。不知道为什么我得到这个错误以及如何解决它。堆栈跟踪对我没有帮助。如何解决此问题以便保存记录?
答案 0 :(得分:8)
将行标记为只读可以是以下任何操作的结果:
Zend_Db_Select
查询与另一个表setIntegrityCheck(false)
已设置在选择对象如果满足上述任何条件,则生成的行对象将被标记为只读,因为Zend_Db无法保证结果中的所有列都引用select对象的原始父表。因此,任何在行对象上调用update()
,save()
或delete()
的尝试都将失败。
其中一些信息遍布Zend_Db_Table reference,如果您搜索integrity
,则可以看到许多行将标记为只读的实例。