## Schema
~~~php
// 创建指定数据表
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');
~~~
### 索引
~~~php
$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');
~~~
### 外键
~~~php
$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');
~~~
### 字段类型
~~~php
// 自增
$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()
~~~
- 参考知识--非必学仅供必要时候查询
- 知识清单
- Composer 安装等
- artisan--创建模型-控制器-各种模块
- Route--路由
- Paginate--分页
- File--文件
- View--视图
- template--模版
- Model--模型
- Schema--数据表索引-外键-字段类型
- DB-基本使用-查询语句-joins-聚合--原生sql-增删改查等
- message--消息
- Validation--验证规则
- Auth-用户认证-用户权限
- Helper-数组对象-路径-字符串-urls-links等
- Session会话
- Response--回应
- Request--请求
- Redirect--重定向
- Environment--环境
- Log--日志
- URL--地址
- Event--事件
- Input--输入
- Security安全--哈希-加密解密
- Queue--监听
- Container--容器
- Config--参数设置
- Cache--缓存
- Cookie--设置-获取--删除等
- Mail--邮件
- String--字符串
- Collection--集合
- Storage--存储
- Lang--语言
- 单元测试
- 文件夹结构简介
- 第一章 laravel8运行环境的搭建(已经有了运行环境的直接跳过)