CurdControllerTrait.php 1.2 KB

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