Действие Laravel nova занимает слишком много времени для обновления записей в таблице. Есть ли способ ускорить его? - PullRequest
0 голосов
/ 17 октября 2018

Я использую laravel nova для своей админ-панели.У меня есть одна пользовательская таблица, в которой я поддерживаю состояния пользователя, такие как активный, отклоненный и ожидающий.Я написал одно действие в Nova для обновления статуса таблицы, но обновление занимает слишком много времени.Есть ли способ, которым он работает быстро.

Вот мое действие, которое будет называться.

<?php

namespace App\Nova\Actions;



class ChangeStatusToReject extends Action
{
    use InteractsWithQueue, Queueable, SerializesModels;

    public $name='Reject';
    /**
     * Perform the action on the given models.
     *
     * @param  \Laravel\Nova\Fields\ActionFields  $fields
     * @param  \Illuminate\Support\Collection  $models
     * @return mixed
     */
    public function handle(ActionFields $fields, Collection $models)
    {
        //
        foreach ($models as $model) {
            $model->is_approved = 0;
            $model->reason=$fields->reason;
            $model->save();
            $model->store->User->notify(
                (new StoreRejection())
                    ->onConnection('redis')
                    ->onQueue('low')
            );

        }
    }

    /**
     * Get the fields available on the action.
     *
     * @return array
     */
    public function fields()
    {
        return [
            Textarea::make('Reason'),
        ];
    }
}
...