행 (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);
내가 행 년대 $ id를 배열에없는 것을 삭제할하지만 오류가 발생합니다 행은 읽기 전용입니다. 나는 그 깃발을 세우지 않았거나 행을 가지고 아무것도하지 않았다. 왜 그것이 읽기 전용인지 모든 아이디어?
아, 그래, 기본적으로 ... 행 "AS value"선택 ... 행은 값이 실제 필드인지 아닌지 확신하지 못합니다. 말이된다. 별칭없이 도망 갈 수 있으므로 쉽게 해결할 수 있습니다. 좋은 대답! – typeoneerror
예, 또한'GROUP BY joinForeignKey' 때문에 이론 상으로는 그룹에 여러 행이있을 수 있습니다. 그래서 만약 당신이'$ row-> id = 1234'라면, 테이블의 어느 행을 업데이트해야합니까? –
좋은 지적. 나는 그 그룹을 데리고 나갈거야. 지금 일해야한다 :) 고맙습니다, 빌. – typeoneerror