bake
bookモデルを作りそのCRUDをbakeで作る。
データベースでbooksテーブル作成
id | 整数、プライマリー、自動インクリメント |
title | テキスト |
author | テキスト |
price | 整数 |
bake
$ ./bin/cake bake all books
しかし失敗する
Exception: SQLSTATE[HY000] [2002] Connection refused in [*****/hogemysql/vendor/cakephp/cakephp/src/Database/Driver/PDODriverTrait.php, line 47]
Config/app.php で 以下のようにhostとportを設定したところ通った。
'Datasources' => [ 'default' => [ // 略 'host' => '127.0.0.1', 'port' => '8889', // 略 ],
これだけで追加、編集等の画面毎作れる。
TableのvalidationDefault
bakeしたtableにはバリデーションが設定されている。
public function validationDefault(Validator $validator) { $validator ->integer('id') ->allowEmpty('id', 'create'); $validator ->requirePresence('title', 'create') ->notEmpty('title'); $validator ->requirePresence('author', 'create') ->notEmpty('author'); $validator ->integer('price') ->requirePresence('price', 'create') ->notEmpty('price'); return $validator; }