$変数 = $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); } }
<< 前へ |