本文へ移動
Webstudio YAS
  • About
  • Price
  • Work
  • Blog
  • Contact
  • About
  • Price
  • Work
  • Blog
  • Contact
  1. ホーム
  2. Blog
  3. 【Laravel】リレーション先のイベント(deleting)が発火しない

公開日: 2021.04.28

【Laravel】リレーション先のイベント(deleting)が発火しない

【Laravel】リレーション先のイベント(deleting)が発火しない

レコード削除と同時にリレーション先のレコードも削除するようにしていて、リレーション先のモデルの中で、「deleting」イベントを拾って実行するイベントクラスを作成しました。しかし発火しない。。。

結論から言うと、公式にもちゃんと書いてあるんだけど、

Eloquentの複数モデル更新・削除を行う場合、影響を受けるモデルに対するsaved、updated、deletingモデルイベントは発行されません。

とのこと。この場合、実際にはリレーション先のモデルが呼ばれていないためらしい。

なので、リレーション元のモデルで「deleting」イベントを拾って実行するイベントクラスを作成して、その中でやりたかった処理を行うことにしました。

いろいろ便利な機能がたくさんあるLaravelさんですが、たまに落とし穴があるので注意したいですね。

タグ

  • Laravel
  • イベント

関連記事

2020.01.01

【Laravel6.0】ログイン機能を実装(ついでに日本語化)

【Laravel6.0】ログイン機能を実装(ついでに日本語化)

2021.08.28

LaravelでAWSのS3接続時のエラー(InvalidArgumentException)

LaravelでAWSのS3接続時のエラー(InvalidArgumentException)

2022.02.15

Laravelでメール(IMAP)を受信して添付ファイルを抽出する

Laravelでメール(IMAP)を受信して添付ファイルを抽出する
Webstudio YAS
  • About
  • Price
  • Work
  • Blog
  • Contact
YAS プロフィール画像

長野県長野市在住
WEBエンジニア YAS

LINKS

  • X
  • Instagram
  • GitHub
Design
  • スタンダード
  • 和モダン
  • エンジニア
  • 信州ナチュラル
プライバシーポリシー

@ Webstudio YAS