创建字段
要在表格内创建新字段,不论是在创建表格调用,还是在修改表格调用,都需要使用Blueprint的实例,它是闭包函数的参数.
让我们看看Blueprint实例可用的方法,我将介绍他们在MySQL的工作方式,但是如果你用的是其他数据库,Laravel将使用等价的方式处理.
以下是Blueprint的方法:
integer(colName), tinyInteger(colName), smallInteger(colName), mediumInteger(colName), bigInteger(colName)
添加INTEGER字段,或者是其他形式的整型字段.
string(colName, length)
添加一条带可选长度的VARCHAR类型字段
binary(colName)
添加一个BLOB类型字段
boolean(colName)
添加一条BOOLEAN类型字段
char(colName, length)
添加一条带可选长度的CHAR字段
datetime(colName)
添加一个DATETIME字段
decimal(colName, precision, scale)
添加具有精度和小数位数的DECIMAL字段,例如,decimal(“amount”,5,2)指定精度为5,小数位数为2
double(colName, total digits, digits after decimal)
添加DOUBLE字段,例如double('tolerance', 12, 8),指12位数字长度,8位在小数位右边.例如7204.05691739
enum(colName, [choiceOne, choiceTwo])
添加一个带选项的ENUM字段
float(colName, precision, scale)
添加一个FLOAT字段
json(colName) and jsonb(colName)
添加一个JSON或者JSONB字段(Laravel 5.1中只有TEXT字段)
text(colName), mediumText(colName), longText(colName)
添加TEXT字段
time(colName)
添加TIME字段
timestamp(colName)
添加TIMESTAMP字段
uuid(colName)
添加UUID字段(MySQL内是CHAR(36))
如下是特殊的Blueprint方法:
increments(colName) 和 bigIncrements(colName)
添加无符号自增INTEGER 或者是BIG INTEGER主键
timestamps() and nullableTimestamps()
添加 created_at 和 updated_at 时间戳字段
rememberToken()
添加一个remember_token字段用于用户"remember me" 令牌
softDeletes()
添加一个deleted_at时间戳字段用于软删除
morphs(colName)
提供一个colName,添加一个整型 colName_id以及一个字符串colName_type,例如(morphs(tag),添加整型tag_id和字符串tag_type),用于表之前的关系
Last updated