CakePHP(v3.x)、ユーザを論理削除に対応させる。 DB上にユーザというレコードを作っておき、AuditLogなどでサービス上のユーザの挙動を監視するなどの実装をしているときに、ユーザをIDで紐付けて実装している場合にはユーザを消してしまうと監査ログがエラーまみれになって… Aoi Watanabeハック2020.01.07 1,637
PHP、”#{ym}”という文字列のプレースホルダーを 日付 “2020年01月”などに変換する 今回は以下のような文字列のプレースホルダーに対して、実行時の日付をはめていく変換を書いていきます。 日付の操作にはChronosを使用します。 使用 プレースホルダの仕様は以下のとおりです。 “#{ym}&#… Aoi Watanabeハック2020.01.07 508
CakePHP(v3.x)、ConsoleCommandを作成する。 CakePHPではsrc/Commandディレクトリ下にコンソールコマンドを追加することができます。 データベースの特定のレコードの数を数えたり、レコードの中のあるステータスを条件に応じて一括で変更するなどといった操作に… Aoi Watanabeハック2020.01.07 2,525
SQL、集約関数(SUM)を利用する時に注意すること(続き) https://hacknote.jp/archives/55069/ に記載した,集約関数実装の続きです. LeftJoinでテーブルをもともとのテーブルAの横にBとCのテーブルを追加しようとした時、 A has ma… Aoi Watanabeハック2019.12.18 1,576
PHP スコープ定義演算子(::)について ::(スコープ定義演算子)のスコープについて簡単にまとめました。 公式の説明はこちら クラス名:: クラス名::とすると、明示したクラスがスコープとなります self:: self::とするとself::を記入したクラス… hal-boハック2019.12.16 939
SQL、集約関数(SUM)を利用する時に注意すること CakePHPにて、アソシエーションを組んでいるテーブルのSUMを算出しようとしたところ、毎回二倍になって値が表示されているといった問題に遭遇しました。 https://stackoverflow.com/questio… Aoi Watanabeハック2019.12.13 480
CakePHP アクセサとミューテーター CakePHPのエンティティではget/setインターフェイスに加えて、プロパティをカスタマイズするアクセサーメソッドとミューテーターメソッドを使うことができます。今回はそのアクセサとミューテーターについて紹介します。 … hal-boハック2019.12.11 2,200
CakePHP(v3.x),カラムの合計を表示する. cakePHPのクエリビルダーを用いてあるカラムの合計値を得たい時, ここではItemがuserとpriceというカラムを持っていて,あるUserに対する合計金額を取得したいときのクエリビルダについて書いていきます. u… Aoi Watanabeハック2019.12.10 3,594
CakePHPのルーティング ルーティングとは ルーティングとはURLとコントローラーのアクションを関連づけることをいいます。CakePHPではルーティングの設定はapp/config/routes.phpで行います。 構文 次の記法にしたがってルー… hal-boハック2019.12.09 852