for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace z1haze\Acl\Models;
use Illuminate\Database\Eloquent\Model;
use z1haze\Acl\Traits\UserAndLevel;
class Level extends Model
{
protected $casts = ['id' => 'integer', 'rank' => 'integer'];
protected $guarded = ['id', 'created_id', 'updated_at'];
use UserAndLevel;
/**
* LEVEL
* A Level has many users
*
* @return mixed
*/
public function users()
return $this->hasMany(config('laravel-acl.user'));
}
* A level has many permissions
* @return \Illuminate\Database\Eloquent\Relations\HasMany
public function permissions()
$model = config('laravel-acl.permission', Permission::class);
return $this->hasMany($model);
/* ------------------------------------------------------------------------------------------------
| Other Functions
| ------------------------------------------------------------------------------------------------
* Handle model events
public static function boot()
parent::boot();
static::deleting(function ($level) {
$level->permissions()->where('level_id', $level->id)->update(['level_id' => null]);
foreach ($level->users as $user) {
$user->level()->dissociate()->save();
});