CakePHP モデルの基本
class Hoge extends AppModel {
//なんかいろいろ*1
}
・DBへのアクセスは、モデルを通して行う。(通さない方法もあります)
・モデルの定義は、PHPのクラスで、必ずAppModelクラスを継承させる
・ファイル名はテーブル名の単数形.php
・「どこのDBに、どんな感じに接続するのか」というのは、app/config/database.phpに書くのですが
複数のDBを扱っていて、database.phpで記述したdefault以外を使いたい時は
以下の変数で使いたい接続を設定します。
$useDbConfig="使いたい接続名"
・命名規則に沿っていれば、規則に応じたテーブルを扱うように設定してくれますが
もう設計してしまいました。という場合は以下のように記述する。
$useTable = "テーブル名"
//falseを指定するとテーブルを使わないモデルができます。
・モデルを使わない時はControllerに以下の変数をセット
var $uses = null;
・主キーの設定を手動で変更
$primaryKey = '設定したいフィールド名'
・セレクトボックスなどに表示する項目の変更
$displayField = '表示したい項目名'
//generateList()の引数でも指定可能
★モデルのコールバック
オーバーライドする事によって、データ関連の動きの前後に処理を加える事も可能。
afterSave()
保存後に実行したいロジックをこのコールバックに置きます。
beforeDelete()
削除前に実行したいロジックをこのコールバックに置きます。
この関数は、続けて削除したい場合には true を返すようにしてください。
中止したい場合には false を返してください。
afterDelete()
削除した後に実行したいロジックをこのコールバックに置きます。
*1:このブログのタイトルは「てきとう」です