facebook twitter hatena line email

「Php/fuelphp/migration/model crud」の版間の差分

提供: 初心者エンジニアの簡易メモ
移動: 案内検索
(Admin がページ「Php/fuelphp/migration/model」を「Php/fuelphp/migration/model crud」に移動しました)
 
(同じ利用者による、間の2版が非表示)
行1: 行1:
==migrationを使ってmodelを作成する==
+
==migrationを使ってcrudのmodelを作成する==
  php oil g model user name:varchar[31] email:string[63] password:string[31] msg:text  created_at:datetime updated_at:datetime --crud
+
  php oil g model user name:varchar[31] email:string[63] password:string[31] msg:text  created_at:int updated_at:int --crud
  
 
以下2つのファイル(modelとmigration)ができる
 
以下2つのファイル(modelとmigration)ができる
行43: 行43:
 
*以下コマンド実行でmigrationが実行されtableができる
 
*以下コマンド実行でmigrationが実行されtableができる
 
  php oil refine migrate
 
  php oil refine migrate
 +
 +
*こんなテーブルができる
 +
CREATE TABLE `users` (
 +
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 +
  `name` varchar(31) NOT NULL,
 +
  `email` varchar(63) NOT NULL,
 +
  `password` varchar(31) NOT NULL,
 +
  `msg` text NOT NULL,
 +
  `created_at` int(11) NOT NULL,
 +
  `updated_at` int(11) NOT NULL,
 +
  PRIMARY KEY (`id`)
 +
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2015年10月25日 (日) 02:11時点における最新版

migrationを使ってcrudのmodelを作成する

php oil g model user name:varchar[31] email:string[63] password:string[31] msg:text  created_at:int updated_at:int --crud

以下2つのファイル(modelとmigration)ができる

  • fuel/app/classes/model/user.php
 class Model_User extends \Model_Crud
 {
     protected static $_properties = array(
         'id',
         'name',
         'email',
         'password',
         'msg',
         'created_at',
         'updated_at',
     );
     protected static $_table_name = 'users';
 }
  • fuel/app/migrations/002_create_users.php
 namespace Fuel\Migrations;
 class Create_users
 {
    public function up()
    {
        \DBUtil::create_table('users', array(
            'id' => array('constraint' => 11, 'type' => 'int', 'auto_increment' => true, 'unsigned' => true),
            'name' => array('constraint' => 31, 'type' => 'varchar'),
            'email' => array('constraint' => 63, 'type' => 'varchar'),
            'password' => array('constraint' => 31, 'type' => 'varchar'),
            'msg' => array('type' => 'text'),
            'created_at' => array('type' => 'datetime'),
            'updated_at' => array('type' => 'datetime'),
        ), array('id'));
    }
    public function down()
    {
        \DBUtil::drop_table('users');
    }
 }
  • 以下コマンド実行でmigrationが実行されtableができる
php oil refine migrate
  • こんなテーブルができる
CREATE TABLE `users` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `name` varchar(31) NOT NULL,
 `email` varchar(63) NOT NULL,
 `password` varchar(31) NOT NULL,
 `msg` text NOT NULL,
 `created_at` int(11) NOT NULL,
 `updated_at` int(11) NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;