<?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Relations\BelongsToMany; use Illuminate\Database\Eloquent\Relations\HasMany; use Illuminate\Database\Eloquent\SoftDeletes; class Role extends Model { use HasFactory, SoftDeletes; protected $fillable = [ 'name' ]; /** * Gets all the Permissions with a relation with the roles(Many to Many through role_has_permission) * @return BelongsToMany */ public function permissions(): BelongsToMany { return $this->belongsToMany(Permission::class, "role_has_permission", 'role_id', 'permission_id')->withTimestamps(); } public function users(): HasMany { return $this->hasMany(User::class,'role_id'); } }