【CakePHP2.x系+Mysql】Modelについて(SQL文のコピペ用、複数テーブル結合など)
Modelでは
・データ操作
・バリデーション
・アソシエーション(複数モデル操作)
が可能。
データ操作はfind,saveなど
アソシエーションは$belongsTo,$hasManyなどがよく使われてるそう。
テーブル作成
create table notes(
id int not null auto_increment,
task_id int not null,
body tinytext not null,
created datetime not null,
modified datetime not null,
primary key(id)
)engine = MYISAM;
レコード挿入
insert into topics(id,title,body,category_id,created,modified)
value(1,'新しいパソコン','ほしいですーーーー',1,'2012-02-02 00:00:00','2012-02-02 00:00:00');
複数テーブルの結合($belongsTo)
◆tasksテーブル
id
◆notesテーブル
id
task_id
◆ /app/Model/Note.php
public $belongsTo = array('Task');
と書いておくとnotesテーブルの親がtasksとなる。
つまりTaskコントローラでfind('all')すると自動的にnotesも結合されて、
task.id = note.task_id みたいな感じになってくれて超便利。