プロジェクト

全般

プロフィール

Backport(バックポート) #1471

error at the application cascading of doctrine.(Doctrineのカスケーディングデリート 時にエラーになる)

Masato Nagasawa13年以上前に追加. 13年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2010-08-03
期日:
進捗率:

100%


説明

Overview (現象)

Doctrine側でカスケーディングデリートを有効にした場合、日記を削除しようとするとエラーになります。

Causes (原因)

lib/behavior/opApplicationLevelCascadingListener.class.php の 32行目でエラーになっており、
$record が空の配列であるにも関わらずdelete()を呼んでいてメソッドが解決できずエラーとなっています。

Way to fix (修正内容)

$relations が Doctrine_Collection でない場合に array($relations) としているのが原因で、
この場合、$relationsが空の配列であった場合に要素数が1となってしまい、foreach で空の $record を処理してしまいます。

 22       if (!($relations instanceof Doctrine_Collection))
 23       {
 24         $relations = array($relations);
 25       }

以下のようにして配列の要素数が0であった場合、continue するように対処するのが良いのではと思います。

 22       if (!($relations instanceof Doctrine_Collection))
 23       {
            if (!count($relations))
            {
              continue;
            }
 24         $relations = array($relations);
 25       }


関連するチケット

関連している OpenPNE 3 - Backport(バックポート) #1475: error at the application cascading of doctrine.(Doctrineのカスケーディングデリート 時にエラーになる) Fixed(完了) 2010-08-03

関係しているリビジョン

リビジョン 65b85f0a (差分)
Masato Nagasawa13年以上前に追加

fixed cascading delete in the application level cascading.(fixes #1471, BP from #1475)

リビジョン 4e837c27 (差分)
Masato Nagasawa13年以上前に追加

fixed check instance of class. (fixes #1471, BP from #1475)

リビジョン 1dc41608 (差分)
Shinichi Urabe13年以上前に追加

Revert "fixed check instance of class. (fixes #1471, BP from #1475)"

This reverts commit 4e837c27bc1e233ce6e44cac5e06c186dab3ca32.

リビジョン d9f4be3d (差分)
Shinichi Urabe13年以上前に追加

Revert "fixed cascading delete in the application level cascading.(fixes #1471, BP from #1475)"

This reverts commit 65b85f0ad59531c22ec02e7b264391bfd98ac8c6.

リビジョン 29dc823b (差分)
Masato Nagasawa13年以上前に追加

fixed cascading delete in the application level cascading.(fixes #1471, BP from #1475)

リビジョン 3321466e (差分)
Masato Nagasawa13年以上前に追加

fixed check instance of class. (fixes #1471, BP from #1475)

履歴

#1 Masato Nagasawa13年以上前に更新

  • 対象バージョンOpenPNE 3.7.0 から OpenPNE 3.4.7 に変更

#2 Masato Nagasawa13年以上前に更新

  • トラッカーBug(バグ) から Backport(バックポート) に変更

#3 Masato Nagasawa13年以上前に更新

  • 題名Doctrineのカスケーディングデリート 時にエラーになる から error at the application cascading of doctrine.(Doctrineのカスケーディングデリート 時にエラーになる) に変更
  • 担当者Masato Nagasawa にセット

#4 Masato Nagasawa13年以上前に更新

  • ステータスNew(新規) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

更新履歴 65b85f0ad59531c22ec02e7b264391bfd98ac8c6 で適用されました。

#5 Masato Nagasawa13年以上前に更新

  • ステータスPending Review(レビュー待ち) から Accepted(着手) に変更

#6 Masato Nagasawa13年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更

更新履歴 4e837c27bc1e233ce6e44cac5e06c186dab3ca32 で適用されました。

#7 Shinichi Urabe13年以上前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更
  • 担当者Masato Nagasawa から Shinichi Urabe に変更

次のバージョンで対応します

#8 Shinichi Urabe13年以上前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

更新履歴 d9f4be3dfe6cb2d6e75bf13be6acb01521d68c89 で適用されました。

#9 Shinichi Urabe13年以上前に更新

更新履歴 1dc41608241fe2d8f957e19d0c2c8f66e97d47f6 で適用されました。

#10 Shinichi Urabe13年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Fixing(修正待ち) に変更
  • 担当者Shinichi Urabe から Masato Nagasawa に変更
  • 対象バージョンOpenPNE 3.4.7 から OpenPNE 3.4.8 に変更

#11 Shinichi Urabe13年以上前に更新

  • 対象バージョンOpenPNE 3.4.8 から OpenPNE 3.4.9 に変更

#12 Masato Nagasawa13年以上前に更新

  • ステータスPending Fixing(修正待ち) から Pending Review(レビュー待ち) に変更

更新履歴 3321466e259223f661031f2de6d5e137e7702684 で適用されました。

#13 Masato Nagasawa13年以上前に更新

更新履歴 29dc823b640c4090cb638f5050e08e9b5df27502 で適用されました。

#14 Mutsumi Imamura13年以上前に更新

動作確認しました。テストOKです。

#15 Rimpei Ogawa13年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

#16 Mutsumi Imamura13年以上前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

他の形式にエクスポート: Atom PDF