CakePHP(v3.x)、ファイルをBLOBなカラムに保存する 今回はPDFを保存する例でControllerの書き方をまとめていきたいとおもいます。 DocumentsというテーブルのfileというBLOBカラムにバイナリデータを保存していきます。 public function … Aoi Watanabeハック2019.10.01 883
CakePHP(v3.x),ChronosのDate(FrozenDate)クラスで月の間隔を求める. 今回はCakePHPのDateクラスを利用して月の間隔を求めて行きます. (ミュータブルなDateクラスの方はバグの温床になりがちなので,immutableなFrozenDateクラスを使います.) use Cake\I… Aoi Watanabeハック2019.09.24 692
cakePHP(v3.x)でqueryのLogを表示する cakePHPは便利なクエリビルダが存在しますが、クエリビルダを介して発行されたSQLの内容をきちんと確認してデバッグしたいという要求があります。 そういう時はapp.phpの内容を以下のように変更すると確認することがで… Aoi Watanabeハック2019.09.20 1,995
CakePHP(v3.x)のクエリ発行でSubQueryをLeftJoinしようとしたら躓いた CakePHPではアソシエーションを組むモデルでサブクエリを発行できます。 // At Table Class $subquery = $this->getAssociation(‘ModelName’)->… Aoi Watanabeハック2019.09.20 3,955
MySql、nullを含むレコードでの四則演算 MySqlにおいて、Tablesというテーブルが存在し、このテーブルの持つnumberというカラムはnullを含んでいます。(other_columnは任意の整数) 今、このnumberというカラムに何らかの四則演算を施… Aoi Watanabeハック2019.09.19 549
cakePHP(v3.x, phinx),migrationで新しいTableを追加する. 今回はBooksという新しいテーブルを手動で追加するMigrationを書いて行きたいと思います. まずmigrationの雛形をbakeします. $ bin/cake migrations createBooks ここ… Aoi Watanabeハック2019.09.17 928
cakePHP(v3.x)、containでhasManyアソシエーションを取得する際に特定のフィールドで並び替える。 例えば、AuthorというモデルがhasManyアソシエーションで複数のBooksを持っている時、 以下のようにある特定のidのAuthorに対してcontainsでBooksも取得したい状況において、 function… Aoi Watanabeハック2019.09.13 1,486
CakePHP(v3.x)、ChronosによるimmutableなDateとmutableなDate CakePHPでは日付時刻を扱うライブラリとしてChronosが採用されています。 標準的なのPHPのdateメッソドの場合、2019/1/31に対して1ヶ月加算したい場合に以下のような処理を実行すると、 date(‘Y… Aoi Watanabeハック2019.09.12 654
CakePHP、subqueryを利用してリレーションを組むカラムの情報から絞り込む。 今、StoresというモデルにたくさんのItemsが紐ついているとします。 Itemsはitemの単価(price)とその消費税(consumption_tax)というカラムを持ってます。 今、Storesの持つItem… Aoi Watanabeハック2019.09.05 471