【cakephp】画面遷移のサンプルソース(コントローラ⇒モデル⇒ビュー)
-
カテゴリ:
- PHP
-
タグ:
- #CakePHP
CakePHPはMVCモデルで構成されています。
Mがモデル、Vがビュー、Cがコントローラと呼ばれています。
コントローラ(C)からモデル(M)経由でDBのデータを取得し、ビュー(V)に表示させる一連のサンプルを作成しました。
ver1.2なので相当古いサンプルです><;。
Controller(m_shitens_contoller.php)
<?php
class MShitensController extends AppController {
//モデル名の宣言
var $name = 'MShitens';
var $helpers = array('Html', 'Form', 'javascript');
// AuthComponentの宣言
var $components = array('Auth');
var $uses = 'MShiten'; //モデルを指定
function create(){
//-------メール作成画面の表示--------//
//データを全件取得
$mails = $this->MShiten->findAll(null,null,"MShiten.branch_cd ASC");
//viewsへデータを渡す
$this->set('mail', $mails);
}
}?>
View(create.php)
<html>
<head>
<title></title></head>
<body>
<?php
//データの取得
$m_shiten = $mail['MShiten'];
?>
<tr>
<td>名前</td>
<td><h1><?php echo $from->text("", array("value"=>"$m_shiten['デーブルのカラム名']"))?></h1></td>
</tr>
</body>
</html>
[説明]
・set('データ名'、データの値)
⇒ビュー(V)にデータを渡す
*データの名前はビュー内で値を読み出す際に使用する
・findAll(,$conditions,$fields,$order,$limit,$page,$recursive)
⇒DBからデータの取得(select文)
$conditions :取得する条件(省略時全件取得)
$fields :取得するフィールドリスト(省略時全フィールド取得)
$order :レコードの取得順(省略時格納順)
$limit :取得する件数
$page :取得するページ数(省略時1ページずつ)
$recursive :再帰的に取得するアソシエーションの深さ
(省略時は直接関連するモデルまで取得)
投稿日:2018-07-03
更新日:2019-04-04