定义表结构
自动生成表结构
$model = new User();$table = $model->schemaInfo();
使用模型中的schemaInfo()方法可以获取当前模型指定数据表的结构返回一个EasySwoole\ORM\Utility\Schema\Table对象
::: tip 模型本身会自动生成表结构,但每次启动Easyswoole,都会去重新获取一次表结构信息,并且在这次服务中缓存,直到Easyswoole服务停止或者重启 如果不希望每次重启都去请求一次数据库,可自行定义该方法,返回Table对象 :::
自定义表结构
在模型类中,我们实现一个getSchemaInfo方法,要求返回一个EasySwoole\ORM\Utility\Schema\Table实例化对象
use EasySwoole\ORM\Utility\Schema\Table;class User extends AbstractModel{/*** 表的获取* 此处需要返回一个 EasySwoole\ORM\Utility\Schema\Table* @return Table*/public function schemaInfo(bool $isCache = true): Table{$table = new Table();$table->colInt('id')->setIsPrimaryKey(true);$table->colChar('name', 255);$table->colInt('age');return $table;}}
表字段
在Table中,有colX系列方法,用于表示表字段的类型,如以上示例的Int,Char
$table->colInt('id');$table->colChar('name', 255);
表主键
如果需要将某个字段指定为主键 则用连贯操作方式,在后续继续指定即可。
$table->colInt('id')->setIsPrimaryKey(true);
