libro
www.tuyano.com
初心者のためのCakePHP3 プログラミング入門

モデルとデータベース (2/5)

作成:2015-09-12 10:37
更新:2015-09-12 10:37

■テーブルを作成する

CakePHP 3でデータベースを利用する場合、最初にやるべきことは、「データベースにテーブルを用意する」ということです。

ここでは、「persons」というテーブルを作成してみることにしましょう。これは以下のようなフィールドを用意しています。

id――プライマリキーとなる整数のフィールドです。
name――名前を保管するテキストのフィールドです。
age――年齢を保管する整数のフィールドです。
mail――メールアドレスを保管するテキストのフィールドです。

ごく単純なものですね。注意すべきは、テーブルの名前です。テーブル名は、「persons」というように、複数形になっています。このように複数形で名前をつけておくのが基本になります。

では、このテーブルをSQLiteで作成しましょう。実行するクエリーは以下のようになるでしょう。
CREATE TABLE `persons` (
    `id`    INTEGER PRIMARY KEY AUTOINCREMENT,
    `name`    TEXT NOT NULL,
    `age`    INTEGER,
    `mail`    TEXT
);

なお、「SQLiteをコマンドラインから操作するなんて、どうすればいいのかわからない!」という人のためにGUIでSQLiteを操作する「SQLite Browser」を紹介しておきましょう。
http://sqlitebrowser.org/

これは、SQLiteのデータベースファイルを開き、そこにテーブルを作成したり、テーブルにレコードを追加したりできるツールです。起動して「Open Browser」ボタンをクリックし、データベースファイルを開けば、その内容が表示され操作できるようになります。「Create Table」ボタンを押し、フィールドを追加して設定していくだけでテーブルの定義が作れます。

(※下図は、SQLite Borwserのテーブル設計画面。)


■bakeを利用する

では、テーブルができたら、モデルを作成しましょう。CakePHP 3では、テーブルをもとにモデルのソースコードを自動生成する機能が用意されています。これを使えば、簡単にモデルを作ることができます。

コマンドプロンプトまたはターミナルを起動し、プロジェクトのフォルダ(ここでは「samplecake」フォルダ)にカレントディレクトリを移動して下さい。そして、以下のように実行をします。
bin\cake bake model persons

これで、モデルのファイルが自動生成されます。他は何も作業する必要はなし。実に簡単ですね!

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。

●プログラム・リスト●

・テーブルの作成

CREATE TABLE `persons` (
    `id`    INTEGER PRIMARY KEY AUTOINCREMENT,
    `name`    TEXT NOT NULL,
    `age`    INTEGER,
    `mail`    TEXT
);

※関連コンテンツ

「初心者のためのCakePHP3 プログラミング入門」に戻る