cakephp 1.3 サンプルコード

自分用メモ

■cakephp 1.3 でDB連携してデータ取得するまで
------------------------------------------------------------
1. データベースにテーブルを作成
------------------------------------------------------------
mysql>
CREATE TABLE members ( id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
------------------------------------------------------------
※テーブル名に複数形sがついていることに注意
------------------------------------------------------------
2. モデルの作成
------------------------------------------------------------
$ vi app/models/member.php
------------------------------------------------------------
<?php
class Member extends AppModel
{
 var $name="Member";
}
------------------------------------------------------------
3. コントローラの作成
------------------------------------------------------------
$ vi app/controllers/member_controller.php
------------------------------------------------------------
<?php
class MemberController extends AppController
{
 public $scaffold;
}
------------------------------------------------------------
4. ブラウザで確認
------------------------------------------------------------
http://localhost/cakephp1.3/member
------------------------------------------------------------

■全レコード取得
------------------------------------------------------------
コントローラ
------------------------------------------------------------
$ vi app/controllers/member_controller.php
------------------------------------------------------------
<?php
class MemberController extends AppController
{
 function index()
 {
  // all records
  $results = $this->Member->find('all');
  $this->set('results', $results);
 }
}
------------------------------------------------------------
ビュー
------------------------------------------------------------
$ vi app/views/member/index.ctp
------------------------------------------------------------
<?php foreach($results as $v): ?>
<li><?php echo $v['Member']['id'] . $v['Member']['name']; ?></li>
<?php endforeach; ?>
------------------------------------------------------------

■1レコード取得
------------------------------------------------------------
コントローラ
------------------------------------------------------------
$ vi app/controllers/member_controller.php
------------------------------------------------------------
<?php
class MemberController extends AppController
{
 function index()
 {
  // 1 record
  $results = $this->Member->find('first', array('conditions'=>array('id'=>4)));
  $this->set('results', $results);
 }
}
------------------------------------------------------------
ビュー
------------------------------------------------------------
$ vi app/views/member/index.ctp
------------------------------------------------------------
<?php foreach($results as $v): ?>
<li><?php echo $v['id'] . $v['name']; ?></li>
<?php endforeach; ?>
------------------------------------------------------------