Zend Framework:此行已标记为只读

And*_*rew 6 zend-framework

这是我第一次遇到这个问题.保存我的某个模型时,我收到错误消息:"此行已标记为只读".不知道为什么我得到这个错误以及如何解决它.堆栈跟踪对我没有帮助.如何解决此问题以便保存记录?

dre*_*010 8

将行标记为只读可以是以下任何操作的结果:

  • Zend_Db_Select查询接合其他表
  • setIntegrityCheck(false) 已在选择对象上设置
  • 一列或多列是评估表达式的结果

如果满足上述任何条件,则生成的行对象将被标记为只读,因为Zend_Db无法保证结果中的所有列都引用select对象的原始父表.因此,任何在行对象上调用update(),save()或的尝试delete()都将失败.

其中一些信息遍布Zend_Db_Table引用,如果您搜索,则integrity可以看到许多实例,其中行将被标记为只读.