もっと早く気づきたかった。。
CakePHP3 には文字列カラムに配列をJSON形式などに変換して保存し、取り出し時にまた配列に戻してくれる方法がありました。
_initializeSchema( Cake\Database\Schema\TableSchema $schema )
https://api.cakephp.org/3.6/class-Cake.ORM.Table.html#__initializeSchema
使い方
1.保存したいテーブルの Model にメソッドを追加します。
protected function _initializeSchema(\Cake\Database\Schema\TableSchema $schema) { $schema->setColumnType('categories', 'json'); return $schema; }
ここでは カラム名:categories にMultiCheckboxなどで配列で得られる値を JSON形式 で保存する事を想定してみました。
使い方は以上です。
簡単ですね。
今まで知らずに自作してた。。
0 件のコメント:
コメントを投稿