開発

CakePHP3.x

[CakePHP3.x]CakePHP2にあったafterFind()やvirtualFiledsはどこに行った?

CakePHP2ではモデルのafterFind()メソッドで検索結果の整形を行うことができました。 なんですが、CakePHP3ではなくなってしまったようです。 (参考)afterFind イベントやバーチャルフィールドはありません...
API

[PHP]先月の1日とか今月の月末の日付の求め方

日付関係の処理で結構ありがちなのが、先月とか今月とかの期間で絞り込む処理。 だいたいは、基準日の月の1日の日付を作って、そこから求めるんだけど、実はもっと簡潔に書く方法がありました。
CakePHP3.x

[CakePHP3.x]共通関数の作り方

コントローラ―でもモデルでもViewでもどこでも呼びたいときにどうするか? CakePHP3からnamescapeが付くようになって、いろいろめんどくさくなりました。
CakePHP3.x

[CakePHP3.x]複数カラムでLIKE検索したい

複数カラムでLIKE検索したいという要望はよくあると思いますが、CakePHP3ではどうやるのか?
CakePHP3.x

[CakePHP3.x]新規保存時にid(PK)を自前で設定したい

CakePHP3で新規でテーブル保存時にはid(PK)は自動で設定してくれてすごく便利なんですが、何らかの理由で自分で設定したい場合はどうしたらいいのか?
CakePHP3.x

[CakePHP3.6]コンポーネントでTableを使いたい

CakePHP3で、コンポーネントでModelを呼び出したかったのですが、うまくいかなかったので調べました。
日本語の情報

[vscide]候補が自動選択されるのを防ぐ

VisualStudio Codeには高度な補完機能があるのですが、どうも過剰に働いてしまうことが多い。 特に、サードパーティーの機能を使っている場合に問題が多く、たとえばBootstrap 3 SnippetsというBootstrap3...
CakePHP3.x

[CakePHP3]Seedファイルで初期データを作る

Seedってなに Seedファイルは、データベースの初期データ投入するための仕組みです。
CakePHP3.x

CakePHP3で複合主キーを使う

CakePHP3が複数のプライマリキーを持つことができるようになったみたいなのだが、ずっと避けてきていましたが、ようやく使えそうなのでちょっといじってみました。
CakePHP3.x

CakePHP3+Bootstrap3でチェックボックスとかラジオボタンを横並びでいい感じで表示する

CakePHP3+Bootstrap3でフォーム部品を表示させようとするのだけど、チェックボックスとかが縦並びになったりイマイチ感が半端ない。 とりあえず、手っ取り早く横並びでいい感じに表示させようと試みてみました。
CakePHP

[CakePHP3.8].envファイルで設定する

CakePHP3系で設定ファイルはconfig/app.phpで行いますが、config/.envファイルに設定を持たせて行う方法もあるようです。 CakePHP 3.8 (3系ならたぶん共通)
CakePHP

[CakePHP3.8]モデルでデバッグ出力

モデルでデバッグ出力する方法 CakePHP 3.8 (3系ならたぶん共通)
CakePHP

[CakePHP3.7] Impossible to generate condition with empty list of values

where()メソッドで $query->where(); こんな感じで絞り込みたい場合。 $blacklist_users_idsで一つでもデータがあればいいのですが1つもない状態だと。 下記のようなエラーが出てしまいます。 I...
CakePHP

[CakePHP3.8]Hidden属性のパラメータがpatchEntityでEntityに反映されない

HiddenでのPOSTデータの保存処理を書いていたのだが、どうも挙動がおかしいことがありいろいろいじってみた。 編集処理の場合、保存済みのデータとPOSTデータをpatchEntity()でマージする。 で、Hidden属性のデー...
CakePHP

[CakePHP3.7]saveAllの代替方法

CakePHP2では、saveAll()メソッドで複数行に一括Insertができたのだが、CakePHP3ではなくなってしまった。 1クエリでInsertできないとなると、大量にInsertが必要な場合かなりのパフォーマンス低下になってし...
CakePHP

[CakePHP3.7]TimeZone設定について

CakePHP3では、そのまま使うとTimeZoneがUCTになってしまって、日本国内だけで使う場合はいろいろと面倒なことが起こりますので、日本のタイムゾーンの設定を行います。 バージョン CakePHP 3.8
CakePHP

[CakePHP3.7]CSRF保護について

フォームのhiddenデータの保護のための仕組みのCSRFが、CakePHP3.5から変更になったようなので調査してみました。 バージョン CakePHP 3.8
CakePHP

[CakePHP3]friendsofcake/searchでbelongsToManyを検索する

friendsofcake/searchの記事を以前書きましたが、それに関連して、belongsToManyなモデルで検索する場合どうしたらいいかを調べてみました。 searchプラグインについて基本的な使い方がわからない場合は、まず以前...
CakePHP

[CakePHP3]ビヘイビア内で呼び出し元のモデルにアクセスするには?

モデルの共通処理をビヘイビアで管理すると、重複した余計なコードを書かずに済みますが、ビヘイビア内で呼び出し元のモデルにアクセスするにはどうしたらよいか? バージョン CakePHP3.x 普通に$thisでアクセスできるのかな...
CakePHP

[CakePHP3]検索プラグインで複数カラムをLike検索する

以前紹介したCake3で検索プラグイン(friendsofcake/search)を使うですが、複数カラムを横断してLIKE検索する方法がなかったのでやってみました。 バージョン CakePHP3.7