トップページ

新着記事

2023/6/1

【Cakephp2→4】コントローラ編: Cake2と4間でFlashを共有する

Cake2 から 4 への移行作業の際の話です。Cake4 でセットしたフラッシュメッセージの後、まだ Cake2 な画面への遷移だった場合、フラッシュメッセージの受け取りができません。(できるだけ小さな単位で移行、プルリクが望ましいので、一気に画面を移行してしまうと大変なことになります。なので、Cake2な画面と移行済みのCake4な画面を行き来する形になります。) 方法としては、Cake4 でも Cake2 でも $_SESSION というグローバル変数への書込みは同じなので、それを元に Cake2 ...

続きを見る

2023/5/29

【Cakephp2→4】updateAll使用時の別テーブル参照はCake4ではできない件

Cake2での updateAll() では 条件に別テーブルの参照ができていましたが、どうやら Cake4 ではできないようです。 例えば、以下のような Cake2 のコードを移行を考えた際、Cake4では、SQLを分割する方法が考えられます。 Cake2: updateAllに別テーブルのカラム条件が入っている場合 $conditions = []; $conditions['id'] = $data['id']; $conditions[] = ['OR' => [ ['別テーブル.type' ...

続きを見る

2023/5/22

育児は母親がするもの?いえいえ、ばっちばち育児は力仕事です

世間一般的には母親が子どもの育児を担当し、父親が稼ぎに出かけるといった家庭の形が(バイアスも含めて)多いと思います。現実として、男性の方が平均年収は高いもの(2021年度国税庁: 男性が約418万円、女性が約334万円)なので、男性が働きに出る、出稼ぎに行くというは自然の流れとも言えると思います。 ですが、現実は共働きが通常となっている昨今を見ると、母親だけがワンオペ育児を担当するのは負担が大き過ぎます。自分自身、まだ数年とはいえ、年中育児をしてきて思うことは、育児は「ばっちばちの力仕事」です。子どもはす ...

続きを見る

2023/5/19

【Cakephp4】トランザクションの実装時に注意したいこと

トランザクションの使いどころといえば、データの整合性を担保するために、複数の処理をひとまとめにしたい場合などが考えられると思います。 例えば、通常データの保存に加えて、同時にログデータも保存しておく、さらに関連データも別で処理したい、など。 で、このトランザクション実装時に少し沼った話ですが、保存処理がうまくできなかった場合に例外を投げ、例外メッセージを受け取り、それをフラッシュにセット、データはロールバックし、元の通りが期待される実装をしていました。 Cake4: トランザクション実装例 use Cak ...

続きを見る

2023/5/16

【Cakephp2→4】beforeValidateはbeforeMarshalとして代替

Cake4 では Cake2 時代では存在していた beforeValidate() が存在していません。 なので、Cake4 では beforeMarshal() の利用を検討します。 Cake2: beforeValidate の例 public function beforeValidate($options = []) { // バリデート検証処理サイクルへ進む前にデータを整えておきたい処理など } beforValidate() の役目は、検証処理へ進む前に予めユーザ入力からのデータ構造を整えた ...

続きを見る

おすすめ記事