Rodhos Soft

備忘録を兼ねた技術的なメモです。Rofhos SoftではiOSアプリ開発を中心としてAndroid, Webサービス等の開発を承っております。まずはご相談下さい。

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;
    }