1.2にはなかったが、1.3では__validateWithModelsという関数ができて、Model::validatesの中で使われている。この関数は、habtmの中間テーブルで入力値バリデーションを行ってくれる、というものだ。 Cakeのhabtmデータは他のアソシエーションとは違い、アソシエーション先のモデルへデータを渡して処理してもらうのではなく、基本的にそのモデルの内部で処理する(ItemとCategoryがhabtm関係の時、categories_itemsテーブルの為のCategoriesItem中間モデルは必須ではないため) <?php class Category extends Model { ... 略 ... } class Item extends Model { ... 略 ... var $hasAndBelonsToMany = array( 'Categ