この問題に遭遇したのはこれが初めてです。モデルの 1 つを保存すると、「この行は読み取り専用としてマークされています」というエラー メッセージが表示されます。このエラーが発生する理由と解決方法がわかりません。スタック トレースは役に立ちませんでした。この問題を解決して記録を保存するにはどうすればよいですか?
質問する
2579 次
1 に答える
9
行が読み取り専用としてマークされるのは、次のいずれかの操作の結果である可能性があります。
Zend_Db_Select
別のテーブルと結合されたクエリsetIntegrityCheck(false)
選択オブジェクトに設定されました- 1 つ以上の列が、評価された式の結果です
上記の条件のいずれかに該当する場合、Zend_Db は結果のすべての列が選択オブジェクトの元の親テーブルを参照することを保証できないため、結果の行オブジェクトは読み取り専用としてマークされます。したがって、行オブジェクトでupdate()
、save()
、またはを呼び出そうとしても失敗します。delete()
この情報の一部は、Zend_Db_Table リファレンスに散らばっています。検索するとintegrity
、行が読み取り専用とマークされているインスタンスが多数表示されます。
于 2012-04-28T02:30:28.663 に答える