这是我第一次遇到这个问题。 当保存我的模型之一,我得到的错误信息:“此行已被标记为只读”。 不知道为什么我收到此错误,以及如何解决它。 堆栈跟踪我没有帮助。 我怎样才能解决这个问题,所以我可以保存记录?
Answer 1:
有标记为只读可以从以下任何操作的结果中的一行:
- 该
Zend_Db_Select
查询接合其他表 -
setIntegrityCheck(false)
被设定在选择对象上 - 一个或多个列是计算的表达式的结果
如果上述任何条件为真,则所得行对象将被标记为只读,因为Zend_Db的不能保证在结果中的所有列引用的选择对象的原始父表。 因此,任何试图调用update()
save()
或delete()
该行对象将失败。
一些信息在整个传播Zend_Db_Table类参考 ,在这里,如果你搜索的integrity
你可以看到一些地方的行会被标记为只读实例。
文章来源: Zend Framework: This row has been marked read-only
标签:
zend-framework