是什么导致行 ( Zend_Db_Table_Row
) 设置为“ readOnly
?” 我在循环中删除行时遇到问题:
// this is set to some integers
$ids = array();
// get the results
$results = $table->fetchAll($select);
foreach ($results as $result)
{
$value = $result->value;
if (!in_array($value, $ids))
{
// throws a "row is read-only" error
$result->delete();
}
}
这是我的选择:
$table = $options->joinModel;
$select = $table->select();
$select->from($table->getTableName(), array("id", "value" => $options->joinForeignKey))
->where("`{$options->foreignKey}` = ?", $row->id)
->group($options->joinForeignKey);
我想删除不在 $ids 数组中的行,但它会抛出一个错误,指出该行是只读的。我没有设置那个标志或对行做任何事情。知道为什么它是只读的吗?