DeleteOldMessages.php 1022 Bytes
<?php

namespace App\Console\Commands;

use App\Models\Chat;
use App\Models\Message;
use App\Models\User;
use Illuminate\Console\Command;

class DeleteOldMessages extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'app:delete-messages';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Command description';

    /**
     * Execute the console command.
     *
     * @return int
     */
    public function handle()
    {
        Message::query()->get()->map(function ($message) {
            $chatFrom = Chat::query()->where(['id' => $message->chat_id_from])->first();
            if (!$chatFrom) {
                $message->delete();
            }
            $chatTo = Chat::query()->where(['id' => $message->chat_id_to])->first();
            if (!$chatTo) {
                $message->delete();
            }
        });


        return Command::SUCCESS;
    }
}