Laravel nova动作花费的时间太长,无法更新表中的记录,有什么办法可以加快速度?

时间:2018-10-17 05:12:43

标签: laravel laravel-nova

我正在使用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'),
        ];
    }
}

0 个答案:

没有答案