我们经常遇到表单中,某些字段是需要选择数据库或者配置文件中的一个列表中的对应值
```
<?php
namespace demo;
class Demo
{
public function cate_id()
{
return [
'type' => 'select',
'title' => '分类',
'field' => 'cate_id',
'options' => NewsCate::buildCateOptions(),
];
}
}
```
如上示例,一个分类需要从分类配置表中获取一个配置选型列表。
这里提供一个方便的解决办法:
1. 修改模型继承 suframe\thinkAdmin\model\ModelBase;
2. 增加一个buildCateOptions 方法,增加这个方法是为了减少模型暴露的字段,更方便管理
```
class NewsCate extends suframe\thinkAdmin\model\ModelBase
{
public static function buildCateOptions($hasAll = false)
{
return static::buildOptions('id', 'name', $hasAll);
}
}
```
这样就完成了表单会自动关联对应的模型列表, 如果是配置文件同理