普段は少人数で自社サイト運営をしながら呑んだくれたりマンガ読んだりアニメ観たりしております。今回は掲題にあるとおり、DBへのレコード挿入時にObserver使えば便利だよ、という事を簡単に紹介します。ドキュメントイベントベースのシステムは、特定のイベントに動作を追加できるようにします。自動的にそれらを行うためには何があるのかどうかを確認するために追加されたすべてのオブザーバを呼び出しますと書いてありますが、要するにINSERTの前後UPDATEの前後に特定動作を追加できるよーってことです。具体的にどんな感じで使うのか上記の機能を使うためにはORMパッケージを入れる必要があるので、configファイルから設定を追加しましょう。),),さて、では実際にコード記述に入ります。試しに「usersテーブルにINSERTをしたら作成日時が自動的に保存される」という部分を作ってみます。保存するテーブル名}Orm\ModelクラスをextendsしたModelクラスを用意し、usersテーブルにはcreated_atカラムを用意します。実行あとはこのModelを使ってINSERTをすればOKです。DBクラスを使ってINSERTするとcreated_atには何も入りません。本題に戻りまして、IPアドレスの自動挿入についてご説明しましょう。先ほどの「timestampを突っ込む」という本処理を実行していたのはOrmパッケージが持つObserver_CreateAtクラスでした。今度は「ip_addressを取得する」という本処理を自分で書いて持ってみましょう。