CurdControllerTrait.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <?php
  2. /**
  3. *
  4. * @author: xaboy<365615158@qq.com>
  5. * @day: 2017/11/15
  6. */
  7. namespace crmeb\traits;
  8. use crmeb\services\JsonService;
  9. use think\Request;
  10. trait CurdControllerTrait
  11. {
  12. /**
  13. * 保存数据库
  14. *
  15. * @deprecated: 取消使用/要优化这个更新操作,一次更新操作里执行了 2 次 sql.
  16. *
  17. * @param $id
  18. * @param $field
  19. */
  20. public function change_field($id, $field)
  21. {
  22. if (!isset($this->bindModel)) {
  23. return exception('方法不存在!');
  24. }
  25. if (!class_exists($this->bindModel)) {
  26. return JsonService::fail('操作Model不存在!');
  27. }
  28. $model = new $this->bindModel;
  29. $pk = $model->getPk();
  30. if (strtolower($pk) == strtolower($field)) {
  31. return JsonService::fail('主键不允许修改!');
  32. }
  33. $data = $model->where($pk, $id)->find();
  34. if (!$data) {
  35. JsonService::fail('记录不存在!');
  36. }
  37. $value = app('request')->post($field);
  38. if ($value === null) {
  39. return JsonService::fail('请提交需要编辑的数据!');
  40. }
  41. $data->$field = $value;
  42. return false !== $data->save() ? JsonService::successful('编辑成功!') : JsonService::fail('编辑失败!');
  43. }
  44. }