---
# System prepended metadata

title: CakePHP mysql 連携
tags: [yutons]

---


###### tags: `yutons`
# CakePHP mysql 連携

### mysql table作成
1. mysqlの中に入る
    `mysql -u root -p`
2. database作成(DB名：test)
    `create database test`
3. databaseの中に入る
    `use test`
4. table作成
    `CREATE TABLE test(
    id INT(11) AUTO_INCREMENT NOT NULL, 
    name VARCHAR(30) NOT NULL ,
    PRIMARY KEY (id));`

### model作成
1. model名確認
    `bin/cake bake model`
    - 下記の応答例（Test：テーブル名）
    `Choose a model to bake from the following:`
    `-Test`
2. model作成
    `bin/cake bake model テーブル名`
    - 例
    `bin/cake bake model Test`
3. model確認
    - 下記にファイルが生成されていたら完成（Cake3.x系から）
    ```
    Model/Table
    Model/Entity
    ```
    
### データ登録
- Controllerで記述
1. tableを取得
    ```
    $Test = TableRegistry::getTableLocator()->get('Test');
    $entity = $Test->newEntity($data);
    ```
    ※newEntityでmodel(Model/TestTable.php)のvalidationDefaultでバリデーションチェックが行われる

2. save(insert)
    ```
    $result = $Test->save($entity);
    ```
    

