Pakiet Zatwierdzenie Laravela wymaga zatwierdzenia nowych danych modelu przed ich utrwaleniem. Ten pakiet używa Enums i dlatego wymaga PHP 8.1 i Laravela 9.
Aby rozpocząć korzystanie z tego pakietu, użyj dostarczonej cechy MustBeApproved
na model:
use Cjmellor\Approval\Concerns\MustBeApproved;
class Post extends Model
{
use MustBeApproved;
// ...
}
Pakiet używa relacji polimorficznych do przechowywania danych, które muszą zostać zatwierdzone w nowej tabeli o nazwie approvals
. Możesz wysyłać zapytania o zatwierdzenia i ustawiać stan dla danego zatwierdzenia za pomocą następujących metod:
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();
Na koniec, jeśli chcesz pominąć proces zatwierdzania i zachować model, którego możesz użyć następującą metodę w Twoim modelu:
$model->withoutApproval()->update(['title' => 'Some Title']);
Możesz rozpocząć korzystanie z tego pakietu, sprawdzając repozytorium na Github pod adresem cjmellor/approval.