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