diff --git a/application/admin/controller/Content.php b/application/admin/controller/Content.php index 333bed4b..2eb0e9a8 100644 --- a/application/admin/controller/Content.php +++ b/application/admin/controller/Content.php @@ -139,7 +139,7 @@ class Content extends Admin { } $map['id'] = array('IN', $id); - $result = $this->model->del($map); + $result = $this->model->where($map)->delete(); if (false !== $result) { return $this->success("删除成功!"); @@ -202,6 +202,8 @@ class Content extends Admin { foreach ($rows as $key => $value) { $fields[$field_group[$value['group_id']]][] = $value; } + }else{ + $fields = array(); } return $fields; } diff --git a/application/admin/controller/Model.php b/application/admin/controller/Model.php index 9de447bf..fbee84c1 100644 --- a/application/admin/controller/Model.php +++ b/application/admin/controller/Model.php @@ -138,9 +138,6 @@ class Model extends Admin { } $model = $this->model->where($map)->find(); - if ($model['table_status'] != 1 && $data['status'] == 1) { - return $this->error('数据表未创建或更新'); - } if ($model['list_grid'] == '' && $data['status'] == 1) { return $this->error('模型列表未定义'); } diff --git a/application/admin/view/public/edit.html b/application/admin/view/public/edit.html index bf3153fd..2ac9881c 100644 --- a/application/admin/view/public/edit.html +++ b/application/admin/view/public/edit.html @@ -54,7 +54,7 @@ {/volist} - {else/} + {elseif isset($keyList) /} {volist name="keyList" id="field"} {if $field['type'] eq 'hidden'} diff --git a/application/common/model/Attribute.php b/application/common/model/Attribute.php index 9335ab02..8a4dda21 100644 --- a/application/common/model/Attribute.php +++ b/application/common/model/Attribute.php @@ -165,15 +165,4 @@ class Attribute extends Base{ $result = $db->create(); return $result; } - - public function generate($model){ - $tablename = strtolower($model['name']); - //实例化一个数据库操作类 - $db = new \com\Datatable(); - //检查表是否存在并创建 - if (!$db->CheckTable($tablename)) { - //创建新表 - return $db->initTable($tablename, $model['title'], 'id')->query(); - }; - } } \ No newline at end of file diff --git a/application/common/model/Model.php b/application/common/model/Model.php index 1f86d3f3..275afbc4 100644 --- a/application/common/model/Model.php +++ b/application/common/model/Model.php @@ -15,7 +15,7 @@ namespace app\common\model; class Model extends Base { protected $auto = ['update_time']; - protected $insert = ['name', 'create_time', 'status' => 0]; + protected $insert = ['name', 'create_time', 'status' => 1, 'list_grid'=>'id:ID']; protected $type = array( 'id' => 'integer', 'create_time' => 'integer', @@ -23,14 +23,28 @@ class Model extends Base { ); protected static function init(){ + self::beforeInsert(function($event){ + $data = $event->toArray(); + $tablename = strtolower($data['name']); + //实例化一个数据库操作类 + $db = new \com\Datatable(); + //检查表是否存在并创建 + if (!$db->CheckTable($tablename)) { + //创建新表 + return $db->initTable($tablename, $data['title'], 'id')->query(); + }; + }); self::beforeUpdate(function($event){ $data = $event->toArray(); - $attribute_sort = json_decode($data['attribute_sort'], true); - if (!empty($attribute_sort)) { - foreach ($attribute_sort as $key => $value) { - db('Attribute')->where('id', 'IN', $value)->setField('group_id', $key); - foreach ($value as $k => $v) { - db('Attribute')->where('id', $v)->setField('sort', $k); + if (isset($data['attribute_sort']) && $data['attribute_sort']) { + $attribute_sort = json_decode($data['attribute_sort'], true); + + if (!empty($attribute_sort)) { + foreach ($attribute_sort as $key => $value) { + db('Attribute')->where('id', 'IN', $value)->setField('group_id', $key); + foreach ($value as $k => $v) { + db('Attribute')->where('id', $v)->setField('sort', $k); + } } } } @@ -80,42 +94,4 @@ class Model extends Base { public function attribute() { return $this->hasMany('Attribute'); } - - /** - * 解析字段 - * @param [array] $model [字段] - * @return [array] [解析后的字段] - */ - public function preFields($model) { - $fields = $model->attribute; - $groups = parse_config_attr($model['field_group']); - $field_sort = json_decode($model['field_sort'], true); - - //获得数组的第一条数组 - $first_key = array_keys($groups); - if (!empty($field_sort)) { - foreach ($field_sort as $key => $value) { - foreach ($value as $index) { - if (isset($fields[$index])) { - $groupfield[$key][] = $fields[$index]; - unset($fields[$index]); - } - } - } - } - //未进行排序的放入第一组中 - $fields[] = array('name' => 'model_id', 'type' => 'hidden'); //加入模型ID值 - $fields[] = array('name' => 'id', 'type' => 'hidden'); //加入模型ID值 - foreach ($fields as $key => $value) { - $groupfield[$first_key[0]][] = $value; - } - - foreach ($groups as $key => $value) { - if ($groupfield[$key]) { - $data[$value] = $groupfield[$key]; - } - } - return $data; - return array(); - } } \ No newline at end of file