StatusSync.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <?php
  2. namespace App\Console\Commands;
  3. use App\Http\Models\Site;
  4. use Illuminate\Console\Command;
  5. use Illuminate\Support\Facades\DB;
  6. class StatusSync extends Command
  7. {
  8. /**
  9. * The name and signature of the console command.
  10. *
  11. * @var string
  12. */
  13. protected $signature = 'status:sync';
  14. /**
  15. * The console command description.
  16. *
  17. * @var string
  18. */
  19. protected $description = 'Command description';
  20. /**
  21. * Create a new command instance.
  22. *
  23. * @return void
  24. */
  25. public function __construct()
  26. {
  27. parent::__construct();
  28. }
  29. /**
  30. * Execute the console command.
  31. *
  32. * @return mixed
  33. */
  34. public function handle()
  35. {
  36. $rankDatabase = DB::connection('rank');
  37. $siteResult = Site::query()->selectRaw('old_id,status')->whereNotNull('old_id')->get();
  38. foreach ($siteResult as $item) {
  39. // dd( Site::STATUS_MAP[$item->status],$item->old_id);
  40. $statusText = Site::STATUS_MAP[$item->status] ?? '';
  41. $rankDatabase->table('project')->where(['id' => $item->old_id])->update(['status_text' => $statusText]);
  42. }
  43. dd('success');
  44. }
  45. }