参考にさせて頂いたページ
クエリー、マジック検索、AND/OR検索(1/3):初心者のためのCakePHP2.0 プログラミング入門
ホストマシン環境
ゲストマシン環境
- PHP 5.3.3
- CentOS release 6.6 (Final)
- cakephp2.5.6
- mysql Ver 14.14 Distrib 5.6.21, for Linux (x86_64) using EditLine wrapper
- Apache/2.2.15 (Unix)
NumTenSamplesController.phpを作成
入門のNo10なので、NumTenSamplesController.phpを作成した。
複数形のファイル名で、NumTenSamples
Controllerとしており、class名もNumTenSamples
Controllerでファイル名と同じ。
<?php
App::uses('AppController', 'Controller');
class NumTenSamplesController extends AppController {
public function find() {
//$変数 = $this->Modelクラス->findBy項目名( 検索する値 );
$sampleData = $this->NumTenSample->findByName('dummy');
$sampleDataAll = $this->NumTenSample->findAllByName('dummy');
$this->set('sampleData',$sampleData);
$this->set('sampleDataAll',$sampleDataAll);
}
}
Model/NumTenSample.phpを作成
Modelのファイル名はNumTenSample.phpのように単数。
中に記述するクラス名もファイル名と同じくNumTenSampleとしている。
このときデータを取得するテーブル名はnum_ten_samplesと複数形だった。
よくわからないのは、Model/MySampleData.php
のときはテーブル名がmy_sample_data
と単数形だったこと。
ファイル名とクラス名は単数形にするのが規約で、table名はとりあえずそれに適合する名前にするか。
<?php
App::uses('AppModel', 'Model');
class NumTenSample extends AppModel {
}
View/NumTenSamples/find.ctpを作成
ディレクトリ名が、NumTenSamplesと複数形であり、Controllerのファイル名と同じ。
テーブルから取得した配列の構造はそれぞれ以下のようになっている。
$sampleData['NumTenSample']['id']
$sampleDataAll[0]['NumTenSample']['id']
find.ctpの内容は以下の通り。
<h1>Add Page</h1>
<h2>$sampleDataの内容</h2>
<table>
<tr>
<th>id</th>
<th>name</th>
<th>mail</th>
<th>tel</th>
</tr>
<?php foreach ($sampleData as $value){ ?>
<tr>
<td><?php echo($value['id']); ?></td>
<td><?php echo($value['name']); ?></td>
<td><?php echo($value['mail']); ?></td>
<td><?php echo($value['tel']); ?></td>
</tr>
<?php } ?>
</table>
<br><br><br>
<h2>$sampleDataAllの内容</h2>
<table>
<tr>
<th>id</th>
<th>name</th>
<th>mail</th>
<th>tel</th>
</tr>
<?php foreach ($sampleDataAll as $value){ ?>
<tr>
<td><?php echo($value['NumTenSample']['id']); ?></td>
<td><?php echo($value['NumTenSample']['name']); ?></td>
<td><?php echo($value['NumTenSample']['mail']); ?></td>
<td><?php echo($value['NumTenSample']['tel']); ?></td>
</tr>
<?php } ?>
</table>
<br><br><br>
今回はここまで。