CakePHP、BLOBで追加するファイルにバリデーションをかける 今回は前回の記事でBLOBなカラムにファイルのバイナリを追加する方法を紹介したので、保存時にValidationをかける方法を追加したいと思います。 Validationをかける項目としては以下です。 ファイルサイズ5M… Aoi Watanabeハック2019.10.04 1,003
CakePHP(v3.x)、MigrationでBLOBなカラムを追加する。 今回はMigrationでファイルをバイナリデータとして保存しておくためのカラムをMigrationで追加していく方法をまとめていきます。 use Phinx\Db\Adapter\MysqlAdapter; use M… Aoi Watanabeハック2019.10.01 555
CakePHP(v3.x)、ファイルをBLOBなカラムに保存する 今回はPDFを保存する例でControllerの書き方をまとめていきたいとおもいます。 DocumentsというテーブルのfileというBLOBカラムにバイナリデータを保存していきます。 public function … Aoi Watanabeハック2019.10.01 879
CakePHP(v3.x),ChronosのDate(FrozenDate)クラスで月の間隔を求める. 今回はCakePHPのDateクラスを利用して月の間隔を求めて行きます. (ミュータブルなDateクラスの方はバグの温床になりがちなので,immutableなFrozenDateクラスを使います.) use Cake\I… Aoi Watanabeハック2019.09.24 689
cakePHP(v3.x)でqueryのLogを表示する cakePHPは便利なクエリビルダが存在しますが、クエリビルダを介して発行されたSQLの内容をきちんと確認してデバッグしたいという要求があります。 そういう時はapp.phpの内容を以下のように変更すると確認することがで… Aoi Watanabeハック2019.09.20 1,972
CakePHP(v3.x)のクエリ発行でSubQueryをLeftJoinしようとしたら躓いた CakePHPではアソシエーションを組むモデルでサブクエリを発行できます。 // At Table Class $subquery = $this->getAssociation(‘ModelName’)->… Aoi Watanabeハック2019.09.20 3,931
cakePHP(v3.x, phinx),migrationで新しいTableを追加する. 今回はBooksという新しいテーブルを手動で追加するMigrationを書いて行きたいと思います. まずmigrationの雛形をbakeします. $ bin/cake migrations createBooks ここ… Aoi Watanabeハック2019.09.17 926
cakePHP(v3.x)、containでhasManyアソシエーションを取得する際に特定のフィールドで並び替える。 例えば、AuthorというモデルがhasManyアソシエーションで複数のBooksを持っている時、 以下のようにある特定のidのAuthorに対してcontainsでBooksも取得したい状況において、 function… Aoi Watanabeハック2019.09.13 1,483
CakePHP(v3.x)、ChronosによるimmutableなDateとmutableなDate CakePHPでは日付時刻を扱うライブラリとしてChronosが採用されています。 標準的なのPHPのdateメッソドの場合、2019/1/31に対して1ヶ月加算したい場合に以下のような処理を実行すると、 date(‘Y… Aoi Watanabeハック2019.09.12 651