ConfigEditForm.php 942 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. namespace App\Module\System\Admin\Actions;
  3. use App\Module\System\Models\SysConfig;
  4. use App\Module\System\Services\Config;
  5. use Illuminate\Support\Facades\DB;
  6. trait ConfigEditForm
  7. {
  8. public function run($input)
  9. {
  10. $id = $this->payload['id'] ?? null;
  11. if (!$id) {
  12. return $this->error('input-error');
  13. }
  14. /**
  15. * @var SysConfig $model
  16. */
  17. $model = SysConfig::query()->find($id);
  18. // dump($model);
  19. if(!$model){
  20. return $this->error('noinfo');
  21. }
  22. try {
  23. DB::beginTransaction();
  24. $model->value = $input['value'];
  25. if(!$model->save()){
  26. return $this->error('error');
  27. }
  28. DB::commit();
  29. Config::clear_cache();
  30. }catch (\Exception $exception){
  31. DB::rollBack();
  32. }
  33. return $this->success('ok')->refresh();
  34. }
  35. }