67 lines
2.0 KiB
PHP
67 lines
2.0 KiB
PHP
![]() |
<?php
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Catch-CMS Design On 2020
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | CatchAdmin [Just Like ~ ]
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Copyright (c) 2017~2020 http://catchadmin.com All rights reserved.
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Licensed ( https://github.com/yanwenwu/catch-admin/blob/master/LICENSE.txt )
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
// | Author: JaguarJack [ njphper@gmail.com ]
|
|||
|
// +----------------------------------------------------------------------
|
|||
|
|
|||
|
namespace catchAdmin\cms\tables\forms;
|
|||
|
use catchAdmin\cms\support\Table;
|
|||
|
use catchAdmin\cms\support\TableColumn;
|
|||
|
use catcher\library\form\Form;
|
|||
|
use think\facade\Db;
|
|||
|
use think\helper\Str;
|
|||
|
|
|||
|
class Model extends Form
|
|||
|
{
|
|||
|
protected $table = 'cms_articles';
|
|||
|
|
|||
|
/**
|
|||
|
* create form
|
|||
|
*
|
|||
|
* @time 2021年03月02日
|
|||
|
* @return array
|
|||
|
*/
|
|||
|
public function fields(): array
|
|||
|
{
|
|||
|
// TODO: Implement create() method.
|
|||
|
return [
|
|||
|
self::input('name', '模型名称')->required()->maxlength(100),
|
|||
|
self::input('alias', '模型别名')->required()->appendValidates([
|
|||
|
self::validateAlphaDash()
|
|||
|
]),
|
|||
|
self::select('table_name', '模型关联表')
|
|||
|
->options($this->getCMSTables())
|
|||
|
->style(['width' => '100%'])
|
|||
|
->required(),
|
|||
|
|
|||
|
self::textarea('description', '模型描述')->maxlength(255),
|
|||
|
];
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/**
|
|||
|
* 获取 Cms 表
|
|||
|
*
|
|||
|
* @time 2021年04月30日
|
|||
|
* @return mixed
|
|||
|
*/
|
|||
|
protected function getCMSTables()
|
|||
|
{
|
|||
|
$options = self::options();
|
|||
|
|
|||
|
foreach (Db::getTables() as $table) {
|
|||
|
if (Str::contains($table, 'cms') && !Str::contains($table, 'relate')) {
|
|||
|
$options->add($table, $table);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
return $options->render();
|
|||
|
}
|
|||
|
}
|