CurdControllerTrait.php 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace traits;
  12. use service\JsonService;
  13. use think\Request;
  14. trait CurdControllerTrait
  15. {
  16. public function change_field($id,$field)
  17. {
  18. if(!isset($this->bindModel)) return exception('方法不存在!');
  19. if(!class_exists($this->bindModel)) return JsonService::fail('操作Model不存在!');
  20. $model = new $this->bindModel;
  21. $pk = $model->getPk();
  22. if(strtolower($pk) == strtolower($field)) return JsonService::fail('主键不允许修改!');
  23. $data = $model->where($pk,$id)->find();
  24. if(!$data) JsonService::fail('记录不存在!');
  25. $value = Request::instance()->post($field);
  26. if($value === null) return JsonService::fail('请提交需要编辑的数据!');
  27. $data->$field = $value;
  28. return false !== $data->save() ? JsonService::successful('编辑成功!') : JsonService::fail('编辑失败!');
  29. }
  30. public function consult_field($id,$field)
  31. {
  32. if(!isset($this->bindModel)) return exception('方法不存在!');
  33. if(!class_exists($this->bindModel)) return JsonService::fail('操作Model不存在!');
  34. $model = new $this->bindModel;
  35. $data = $model->where('nid',$id)->find();
  36. $value = Request::instance()->post($field);
  37. if($value === null) return JsonService::fail('请提交需要编辑的数据!');
  38. if(!$data){
  39. $data[$field] = $value;
  40. $data['nid'] = $id;
  41. return false !== $model->create($data) ? JsonService::successful('添加成功!') : JsonService::fail('添加失败!');
  42. }else{
  43. $data->$field = $value;
  44. return false !== $data->save() ? JsonService::successful('编辑成功!') : JsonService::fail('编辑失败!');
  45. }
  46. }
  47. }