这是我第一次遇到这个问题。保存我的模型之一时,我收到错误消息:“此行已标记为只读”。不知道为什么我会收到此错误以及如何解决它。堆栈跟踪对我没有帮助。如何解决此问题以便保存记录?
将行标记为只读可能是以下任一操作的结果:
- The
Zend_Db_Select
与另一个表连接的查询
-
setIntegrityCheck(false)
已在选定对象上设置
- 一列或多列是计算表达式的结果
如果上述任何一个条件为 true,那么生成的 row 对象将被标记为只读,因为 Zend_Db 无法保证结果中的所有列都引用 select 对象的原始父表。因此任何尝试调用update()
, save()
, or delete()
,在行对象上将会失败。
其中一些信息已传播到整个Zend_Db_Table 参考 http://framework.zend.com/manual/en/zend.db.table.html,如果您搜索integrity
您可以看到许多行被标记为只读的实例。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)