[TOC]
## Schema
```
// 創建指定數據表
Schema::create('table', function($table)
{
$table->increments('id');
});
// 指定一個連接
Schema::connection('foo')->create('table', function($table){});
// 通過給定的名稱來重命名數據表
Schema::rename($from, $to);
// 移除指定數據表
Schema::drop('table');
// 當數據表存在時, 將指定數據表移除
Schema::dropIfExists('table');
// 判斷數據表是否存在
Schema::hasTable('table');
// 判斷數據表是否有該列
Schema::hasColumn('table', 'column');
// 更新一個已存在的數據表
Schema::table('table', function($table){});
// 重命名數據表的列
$table->renameColumn('from', 'to');
// 移除指定的數據表列
$table->dropColumn(string|array);
// 指定數據表使用的存儲引擎
$table->engine = 'InnoDB';
// 字段順序,只能在 MySQL 中才能用
$table->string('name')->after('email');
```
### 索引
```
$table->string('column')->unique();
$table->primary('column');
// 創建一個雙主鍵
$table->primary(array('first', 'last'));
$table->unique('column');
$table->unique('column', 'key_name');
// 創建一個雙唯一性索引
$table->unique(array('first', 'last'));
$table->unique(array('first', 'last'), 'key_name');
$table->index('column');
$table->index('column', 'key_name');
// 創建一個雙索引
$table->index(array('first', 'last'));
$table->index(array('first', 'last'), 'key_name');
$table->dropPrimary(array('column'));
$table->dropPrimary('table_column_primary');
$table->dropUnique(array('column'));
$table->dropUnique('table_column_unique');
$table->dropIndex(array('column'));
$table->dropIndex('table_column_index');
```
### 外鍵
```
$table->foreign('user_id')->references('id')->on('users');
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'|'restrict'|'set null'|'no action');
$table->foreign('user_id')->references('id')->on('users')->onUpdate('cascade'|'restrict'|'set null'|'no action');
$table->dropForeign(array('user_id'));
$table->dropForeign('posts_user_id_foreign');
```
### 字段類型
```
// 自增
$table->increments('id');
$table->bigIncrements('id');
// 數字
$table->integer('votes');
$table->tinyInteger('votes');
$table->smallInteger('votes');
$table->mediumInteger('votes');
$table->bigInteger('votes');
$table->float('amount');
$table->double('column', 15, 8);
$table->decimal('amount', 5, 2);
// 字符串和文本
$table->char('name', 4);
$table->string('email');
$table->string('name', 100);
$table->text('description');
$table->mediumText('description');
$table->longText('description');
// 日期和時間
$table->date('created_at');
$table->dateTime('created_at');
$table->time('sunrise');
$table->timestamp('added_on');
// Adds created_at and updated_at columns
// 添加 created_at 和 updated_at 行
$table->timestamps();
$table->nullableTimestamps();
// 其它類型
$table->binary('data');
$table->boolean('confirmed');
// 為軟刪除添加 deleted_at 字段
$table->softDeletes();
$table->enum('choices', array('foo', 'bar'));
// 添加 remember_token 為 VARCHAR(100) NULL
$table->rememberToken();
// 添加整型的 parent_id 和字符串類型的 parent_type
$table->morphs('parent');
->nullable()
->default($value)
->unsigned()
->comment()
```
- 入門指南
- 安裝
- 部署
- 基礎功能
- 路由
- 中間件
- CSRF 保護
- 控制器
- 請求
- 響應
- 視圖
- URL
- Session
- 表單驗證
- 錯誤
- 日志
- 前端開發
- Blade 模板
- 本地化
- 腳手架
- 編譯資源 Mix
- 安全相關
- 用戶認證
- API 認證
- 綜合話題
- 命令行
- 廣播
- 緩存
- 集合
- 事件
- 文件存儲
- 輔助函數
- 郵件發送
- 消息通知
- 擴展包開發
- 隊列
- 任務調度
- 數據庫
- 快速入門
- 查詢構造器
- 分頁
- 數據庫遷移
- 數據填充
- Redis
- Eloquent ORM
- 快速入門
- 速查表
- Artisan
- Auth
- Blade
- Cache
- Collection
- Composer
- Config
- Container
- Cookie
- DB
- Environment
- Event
- File
- Helper
- Input
- Lang
- Log
- Model
- Pagination
- Queue
- Redirect
- Request
- Response
- Route
- SSH
- Schema
- Security
- Session
- Storage
- String
- URL
- UnitTest
- Validation
- View