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