CakePHP3 モデルその2
一旦モデルを使ったサンプルという事でDBに登録されているものをデータ一覧としてブラウザに表示させてみる。
こちらMAMPの機能でlocalhostにDB名mydata、テーブル名をboardにして以下のような設定設定。
フィールド:id
種別:INT
インデックス:PRIMARY
A_I:On
フィールド:name
種別:VARCHAR(長さ50)
フィールド:title
種別:VARCHAR(長さ50)
フィールド:content
種別:TEXT
このようなフィールドを作成。
それからデータベースの設定の修正として config内にあるapp.phpを開いてdefaultの値を次のように。
'default' => [ 'className' => 'Cake\Database\Connection', 'driver' => 'Cake\Database\Driver\Mysql', 'persistent' => false, 'host' => 'localhost', 'username' => 'root', 'password' => '', 'database' => 'mydata', 'encoding' => 'utf8', 'timezone' => 'UTC', 'flags' => [], 'cacheMetadata' => true, 'log' => false, 'quoteIdentifiers' => false, 'url' => env('DATABASE_URL', null), ],
「モデル」エンティティクラス
src/Model/Entity/BoardsEntity.php
※エンティティとはDBから取得したレコード情報をまとめたオブジェクトに関する基本的な仕組み。
<?php namespace App\Model\Entity; use Cake\ORM\Entity; class Board extends Entity { protected $_accessible = [ '*' => true, 'id' => false ]; }
「モデル」テーブルクラス
src/Model/Table/BoardsTable.php
※取り合えずクラスだけ用意しておけば使えるようにはなる。
繋げるだけなら空でおーけー。
<?php namespace App\Model\Table; use Cake\ORM\Table; class BoardsTable extends Table { }
取り敢えず今回はモデルの設定をした。
次回はこれに基づくコントローラとビューの設定を。
次回に続く・・・・