Zend框架:该行已被标记为只读(Zend Framework: This row has been

2019-09-16 20:09发布

这是我第一次遇到这个问题。 当保存我的模型之一,我得到的错误信息:“此行已被标记为只读”。 不知道为什么我收到此错误,以及如何解决它。 堆栈跟踪我没有帮助。 我怎样才能解决这个问题,所以我可以保存记录?

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