Пакет Схвалення Laravel вимагає схвалення нових даних моделі перед збереженням. Цей пакет використовує Enums і тому вимагає PHP 8.1 і Laravel 9.
Щоб розпочати роботу з цим пакетом, скористайтеся наданою властивістю MustBeApproved
на модель:
use Cjmellor\Approval\Concerns\MustBeApproved;
class Post extends Model
{
use MustBeApproved;
// ...
}
Пакет використовує поліморфний зв’язок для зберігання даних, які мають бути затверджені, у новій таблиці під назвою approvals
. Ви можете запитувати схвалення та встановлювати стан для певного схвалення за допомогою таких методів:
use App\Models\Approval;
// Get approvals, rejected models, and pending.
Approval::approved()->get();
Approval::rejected()->get();
Approval::pending()->count();
// Approve, reject or postpone an approval.
Approval::where('id', 1)->approve();
Approval::where('id', 2)->reject();
Approval::where('id', 3)->postpone();
Нарешті, якщо ви хочете обійти процес схвалення та зберегти модель, яку ви можете використовувати наступний метод на вашій моделі:
$model->withoutApproval()->update(['title' => 'Some Title']);
Ви можете почати роботу з цим пакетом, переглянувши репозиторій на Github за адресою cjmellor/approval.