这是我第一次遇到这个问题。保存我的一个模型时,我收到错误消息:“该行已被标记为只读”。不知道为什么我会收到此错误以及如何解决它。堆栈跟踪对我没有帮助。如何解决此问题以便保存记录?
问问题
2579 次
1 回答
9
将行标记为只读可能是以下任何操作的结果:
Zend_Db_Select
查询与另一个表连接setIntegrityCheck(false)
在选择对象上设置- 一列或多列是评估表达式的结果
如果上述任何一个条件为真,那么生成的行对象将被标记为只读,因为 Zend_Db 不能保证结果中的所有列都引用了选择对象的原始父表。因此,对行对象调用update()
、save()
或的任何尝试都将失败。delete()
其中一些信息散布在整个Zend_Db_Table 参考中,如果您在其中搜索,integrity
您可以看到许多行将被标记为只读的实例。
于 2012-04-28T02:30:28.663 回答