完善模型管理

This commit is contained in:
2017-06-19 13:59:36 +08:00
parent 250f6ea95d
commit e3b690efc2
12 changed files with 71 additions and 49 deletions

View File

@@ -59,7 +59,7 @@ class Attribute extends Base{
public function getFieldlist($map,$index='id'){
$list = array();
$row = db('Attribute')->field('*,remark as help,type,extra as "option"')->where($map)->select();
$row = db('Attribute')->field('*,remark as help,type,extra as "option"')->where($map)->order('group_id asc, sort asc')->select();
foreach ($row as $key => $value) {
if (in_array($value['type'],array('checkbox','radio','select','bool'))) {
$value['option'] = parse_field_attr($value['extra']);

View File

@@ -15,7 +15,7 @@ namespace app\common\model;
class Model extends Base {
protected $auto = ['update_time'];
protected $insert = ['name', 'create_time', 'status' => 1, 'list_grid'=>'id:ID'];
protected $insert = ['name', 'create_time', 'status' => 1, 'list_grid'=>"id:ID\r\ntitle:标题\r\ncreate_time:添加时间|time_format\r\nupdate_time:更新时间|time_format"];
protected $type = array(
'id' => 'integer',
'create_time' => 'integer',
@@ -32,7 +32,22 @@ class Model extends Base {
if (!$db->CheckTable($tablename)) {
//创建新表
return $db->initTable($tablename, $data['title'], 'id')->query();
};
}else{
return false;
}
});
self::afterInsert(function($event){
$data = $event->toArray();
if ($data['is_doc']) {
$fields = include(APP_PATH.'admin/fields.php');
if (!empty($fields)) {
foreach ($fields as $key => $value) {
$fields[$key]['model_id'] = $data['id'];
}
model('Attribute')->saveAll($fields);
}
}
return true;
});
self::beforeUpdate(function($event){
$data = $event->toArray();
@@ -76,12 +91,13 @@ class Model extends Base {
$db = new \com\Datatable();
if ($db->CheckTable($tablename)) {
//检测表是否存在
$result = $db->del_table($tablename)->query();
$result = $db->delTable($tablename)->query();
if (!$result) {
return false;
$this->error = "数据表删除失败!";
}
}
db('Attribute')->where('model_id', $id)->delete(); //删除字段信息
$result = $this->where('id', $id)->delete();
if ($result) {
return true;

View File

@@ -20,7 +20,6 @@ class Attribute extends Base {
'type' => 'require',
'length' => 'requireIn:type,textarea,editor|integer',
'remark' => 'require',
'value' => 'requireIf:is_must,1'
);
protected $message = array(
@@ -30,7 +29,6 @@ class Attribute extends Base {
'title.require' => '字段标题不能为空!',
'type.require' => '类型不能为空!',
'remark.require' => '描述不能为空!',
'value' => '必填字段默认值必须!'
);
protected $scene = array(