FuelPHPについて質問です。
has_many_relationship上に、以下のようなオブザーバがあります。
Articleにはたくさんのコメントがあり、さらにその中には、起動されたオブザーバがあります。
以下のようなものです。
class Observer_Comments { public function before_delete($model) { Log::info("コメントを削除しました"); } public function before_update($model) { Log::info("コメントを更新しました"); } }
Articleモデルを以下のように更新すると…
$article = Article::find(1)->related('comments); unset($article->comments[1]); $article->save();
ログには何も出てきません。コメントは削除され、Article(オブザーバの動作を含む)はちゃんとアップデートされています。
コメントをちゃんと削除すると…
$comment = Comment::find(1); $comment->delete();
ログは思ったとおりの表示をします。
cascade設定をどうにかしないといけないんでしょうか?
さらに、Model::save()内に以下のコードがありました。
if (method_exists($rel, 'delete_related')) { $rel->delete_related($this); }
delete_relatedメソッドを、ArticleやCommentsモデルに追加する必要があるんでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。