$変数 = $this->Modelクラス->query( クエリーテキスト );非常にシンプルですね。では実際の利用例として、先ほどのfindメソッドをqueryで書き換えたものを下に掲載しておきましょう。ここでは、nameのlike検索を行なっています。フィールドにテキストを書いて検索すると、nameにその文字を含むデータすべてを検索します。ここでは、
select * from my_sample_data where name like '%{$str}%';このようにクエリーを作成しています。likeを利用することで、完全一致する項目のみならず、そのテキストを含むものであればすべて取り出すようになります。――このあたりは、SQLについて勉強しないとちょっとわかりにくいかも知れません。queryを使いこなすためには、そうしたSQLデータベースの知識が不可欠となる、ということは理解しておきましょう。※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
※findメソッドの修正
public function find(){
// レイアウト関係
$this->layout = "Sample";
$this->set("header_for_layout", "Sample Application");
$this->set("footer_for_layout",
"copyright by SYODA-Tuyano. 2011.");
// post時の処理
if ($this->request->is('post')) {
$str = $this->request->data('MySampleData.name');
$data = $this->MySampleData->query
("select * from my_sample_data where name like '%{$str}%';");
$this->set('data',$data);
}
}
| << 前へ |