

MySQLに直接アクセスして、テーブルを作成することはできます。（以下テーブル作成クエリ）

[code]

    CREATE TABLE `comment_table` (
      `comment_table_id` int(11) unsigned NOT NULL AUTO_INCREMENT ,
      `post_id` int(11) NOT NULL ,
      `user_id` int(11) NOT NULL ,
      `id` int(11) NOT NULL ,
      `text` text NOT NULL ,
      `img` text ,
      `create_at` datetime NOT NULL,
      PRIMARY KEY (`colony_comment_table_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=36 DEFAULT CHARSET=utf8;
    
[/code]

しかし、CakePHP3のコード上で上と同じようなコードを再現することができません。  
公式ドキュメントを読んで書いてみたのですが、やはり動作しないようです。

[code]

    class MapsController extends AppController {
      public function createColony(){
        $createTable = $this->table('comment');
            $createTable
                ->addPrimaryKey('comment_table_id','int',[
                                                         'limit'=>11,
                                                         'unsigned'=>true,
                                                         'NOT NULL'=>true,
                                                         'AUTO_INCREMENT'=>true
                                                          ])
                ->addColumn('post_id','int',[
                                             'limit'=>11,
                                             'NOT NULL'=>true,
                                             ])
                ->addColumn('user_id','int',[
                                             'limit'=>11,
                                             'NOT NULL'=>true
                                             ])
                ->addColumn('id','int',[
                                        'limit'=>11,
                                        'NOT NULL'=>true
                                       ])
                ->addColumn('text','text',[
                                           'NOT NULL'=>true
                                           ])
                ->addColumn('img','text')
                ->addColumn('create_at','datetime',[
                                                    'NOT NULL'
                                                    'limit'=>11,
                                                    'NOT NULL'=>true,
                                                   ])
                ->addColumn('user_id','int',[
                                             'limit'=>11,
                                             'NOT NULL'=>true
                                             ])
                ->addColumn('colony_id','int',[
                                               'limit'=>11,
                                               'NOT NULL'=>true
                                               ])
                ->addColumn('text','text',[
                                           'NOT NULL'=>true
                                           ])
                ->addColumn('img','text')
                ->addColumn('create_at','datetime',[
                                                    'NOT NULL'
                                                    ])
                ->create();
       }
    }
    
[/code]

なにかありましたら、随時補足いたします。  
よろしくお願いします。


CC BY-SA 3.0
2015-11-22T07:30:42.567
19163
2015-11-22T07:30:42.567
12470
question
mysql cakephp
CakePHP3を使ったテーブルの作成方法