こんにちは。
Zend_Db_Tableを使って取得したデータに更新をかけようとしたら
exception 'Zend_Db_Table_Row_Exception' with message 'This row has been marked read-only' in
とでた。「読取専用」でっせ、ということらしい。いや、でも似たような処理しているところで大丈夫なところもあったのに・・・と思って違いを調べてみた。
Zend_Db_Tableを使って取得したデータに更新をかけようとしたら
exception 'Zend_Db_Table_Row_Exception' with message 'This row has been marked read-only' in
とでた。「読取専用」でっせ、ということらしい。いや、でも似たような処理しているところで大丈夫なところもあったのに・・・と思って違いを調べてみた。
ダメだったやつ。
public function hoge($fuga, $poga){
$select = $this->select();
$select->from(array('u' => 'users'), array('u.id as user_id', 'u.nickname', 'u.email'))->
~後略~
大丈夫なやつ。
public function moge($fuga, $poga){
$select = $this->select();
$select->from(array('u' => 'users'))->
~後略~
ということで、カラム指定すると返却されるオブジェクトが読み取り専用になるので、更新予定のあるものにはカラム指定しちゃダメよ。ということで。
ダメな理由は、わかるようなわからないような感じで、要はわからないので誰か教えてください。
コメントする