メモを見つけたので貼っておく
migration
*XXX => カラム名は多言語対応となる description|content|body => text id => id integer not null auto_increment primary_key XXX_id|XXX_by => integer index position => integer index XXX_at => datetime XXX_on => date is_XXX|has_XXX|do_XXX|does_XXX|are_XXX => boolean not null default '0' index XXX (YYY) => XXX string(YYY) XXX stringYYY => XXX string(255) 後ろに使えそうな単語 limit XXX max XXX length XXX default XXX integer|int float datetime date timestamp time text string binary boolean NOT NULL AUTO INCREMENT INDEX UNUQUE HASH FULLTEXT PRIMARY KEY|pk booleanは使わない方がいい
model
*モデル **属性 -table_name:テーブル名。指定しない場合はモデルのクラス名からアンダースコア区切りを大文字に変え複数形にしたもの。 -acts_as act_as :カンマ区切り指定|配列指定。キーは(例)List|NestedSet|Tree)値はオプション。 --オプションについて オプションは各オブジェクトのinitメソッドを見るとよい。 --List モデルをリスト(配列)として扱うことができるようになる。属性listとしてアクセスする。 --NestedSet モデルを階層化セットとして扱うことができるようになる。 --Tree モデルをツリーとして扱うことができるようになる。属性treeとしてアクセスする。 -combined_attributes:複数のカラムで1つのカラムを形成する:|配列で指定 var $combined_attributes = array( array('name', array("%s, %s","%[^,], %s"), 'last_name', 'first_name'), // 1:新しいカラム名 2:フォーマット(セットするときとゲットするとき) 3以降:引数となるカラム array('email_link', array("compose_email_link","parse_email_link"), 'email', 'name'), // ); -_accessibleAttributes|_protectedAttributes:値の管理を直接引数指定でやる場合にカラムを指定する -(hasOne|has_one)|(belongsTo|belongs_to)|(hasMany|has_many)|(hasAndBelongsToMany|habtm|has_and_belongs_to_many) 例) $var $has_many = array( '関連モデル名' => options ); 各オプションはaddAssociated('関連モデル名(属性名にもなる)', 'オプション')を見よ! --オプション hasOne class_name(関連名のキャメライズしたもの) table_name(class_nameをテーブル名化したもの) foreign_key(親モデルテーブル名の単数形_id) instantiate: 親モデルのロード時にインスタンス化するかどうか(true|false) conditions:関連を取得するときの条件を指定 order:関連を取得するときの順序を指定 include_conditions_when_included include_order_when_included dependent:親モデル削除時に同時に削除するかどうか(true|false) counter_cache:使用していない? remote:使用していない? hasMany class_name(関連名の単数形をキャメライズしたもの) conditions:関連を取得するときの条件を指定 order:関連を取得するときの順序を指定 group:関連を取得するときのGROUPBYを指定する limit:関連を取得するときの件数を指定する offset:関連を取得するときの最初の位置を指定する finder_sql:関連を取得するときの完全なSQLを指定する counter_sql:関連の件数を取得するときの完全なSQLを指定する include_conditions_when_included include_order_when_included foreign_key(親モデルテーブル名の単数形_id) dependent(nullify):親モデル削除時に同時に削除するかどうか(destroy|delete_all|nullify) include:さらに関連を取得する? instantiate: 親モデルのロード時にインスタンス化するかどうか(true|false) handler_name(関連名の単数形をアンダースコア化したもの):関連を扱う属性名を指定 select:使用していない? belongsTo habtm **定数 -AK_ACTIVE_RECORD_VALIDATE_TABLE_NAMES:モデルインスタンス生成時にテーブル名の存在確認をするかどうか **オブザーバ モデルの外に機能を提供できる。基本はコールバックで以下のタイミングでコールできる。 -beforeCreate -afterCreate -beforeSave -afterSave -beforeUpdate -afterUpdate -beforeDestroy -afterDestroy -beforeValidation -afterValidation -beforeValidationOnCreate -afterValidationOnCreate -beforeValidationOnUpdate -afterValidationOnUpdate オブザーバ側は、上記のメソッドが存在すればそのメソッドが、それ以外はupdateメソッドがコールされる。 引数は、 上記メソッドの場合は、 --第1引数:モデルオブジェクト それ以外は --第1引数:コールされた上記のメソッド名 --第2引数:モデルオブジェクト