PHP code example of cjmellor / approval
1. Go to this page and download the library: Download cjmellor/approval library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
cjmellor / approval example snippets
return [
'approval' => [
/**
* The approval polymorphic pivot name
*
* Default: 'approvalable'
*/
'approval_pivot' => 'approvalable',
],
];
use Cjmellor\Approval\Concerns\MustBeApproved;
class Post extends Model
{
use MustBeApproved;
// ...
}
return $model->isApprovalBypassed();
Post::create(['title' => 'Some Title']);
Post::create(['title' => 'Some Title', 'user_id' => 1]);
public function getApprovalForeignKeyName(): string
{
return 'author_id';
}
use App\Models\Approval;
Approval::approved()->get();
Approval::rejected()->get();
Approval::pending()->count();
use App\Models\Approval;
Approval::where('id', 1)->approve();
Approval::where('id', 2)->reject();
Approval::where('id', 3)->postpone();
$approval->approveIf(true);
$approval->rejectIf(false);
$approval->postponeIf(true);
$approval->approveUnless(false);
$approval->rejectUnless(true);
$approval->postponeUnless(false);
ModelApproved::class
ModelPostponed::class
ModelRejected::class
Approval::find(1)->approve(persist: false);
Approval::first()->rollback();
Approval::first()->rollback(bypass: false); // default is true
Approval::first()->rollback(fn () => true);
// ModelRolledBackEvent::class
public Model $approval,
public Authenticatable|null $user,
$model->withoutApproval()->update(['title' => 'Some Title']);
use Cjmellor\Approval\Concerns\MustBeApproved;
class Post extends Model
{
use MustBeApproved;
protected array $approvalAttributes = ['name'];
// ...
}
bash
php artisan vendor:publish --tag="approval-migrations"
php artisan migrate
bash
php artisan vendor:publish --tag="approval-config"