我們經常遇到表單中,某些字段是需要選擇數據庫或者配置文件中的一個列表中的對應值
```
<?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);
}
}
```
這樣就完成了表單會自動關聯對應的模型列表, 如果是配置文件同理