CakePHPでデータベースのテーブルにscaffoldでアクセスする。
読み方はスキャフォールド(でよいと思う)。
scaffoldを使用すれば、手っ取り早くテーブルにアクセスすることができる。
実際のアプリケーション運用で使用することはないが、開発者がアプリケーションの動作確認を目的にデータベースの操作を行う場合に有用といえる。
動作環境
・Ubuntu 12.04.3 LTS
・CakePHP 2.4.4
・MySQL 5.5.34
・Apache 2.2.22
命名規約
scaffoldを使用するためには、CakePHPの命名規約に従う必要がある。
下記は、商品の在庫情報を持つモデル「Stock」を作成する場合の、モデル、コントローラ、データベーステーブルの名前となる。
モデル:Stock
コントローラ:StocksController
データベースのテーブル:stocks
データベーステーブルの作成
CakePHPからアクセスするテーブルをデータベースに生成する。
CakePHPからではなく、MySQLのコマンドから下記のSQL文を実行し、テーブルを作成する。
CREATE TABLE `stocks` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`num` int(11) DEFAULT 0,
PRIMARY KEY (`id`)
);
コントローラの作成
アクセスするコントローラを作成する。
コントローラの中身はscaffoldをpublic変数として持つだけでよい。あとはコントローラの実行時にCakePHPが動的にモデルを生成してくれる。
<?php
class StocksController extends AppController {
public $scaffold;
}
?>
アクセス
生成したテーブルへアクセスするために、下記のURLにアクセスする。
http://localhost/SampleApl/Stocks
アクセス結果は下記のようになる。
テーブルが空のため、データは何も表示されない。
画面左側の「Actions」メニューの「NewStock」ボタンからデータを挿入することができる。
また、挿入したデータの編集、削除も行うことができる。
0 件のコメント:
コメントを投稿