定义表结构
自动生成表结构
$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);