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'];
protected $table;
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();
});
public function __construct(array $attributes = [])
parent::__construct($attributes);
$this->table = config('laravel-acl.tables.level');