28 lines
724 B
PHP
28 lines
724 B
PHP
<?php
|
|
|
|
namespace App\Models\Auth;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class UserAccessGroup extends Model
|
|
{
|
|
protected $table = 'user_access_groups';
|
|
protected $fillable = ['name', 'page_permissions'];
|
|
protected $casts = ['page_permissions' => 'array'];
|
|
|
|
public function scopeForCompany($query)
|
|
{
|
|
return $query->where('company_id', company_id());
|
|
}
|
|
|
|
public function users()
|
|
{
|
|
return $this->belongsToMany(User::class, 'user_access_group_members', 'group_id', 'user_id');
|
|
}
|
|
|
|
public static function forUser(User $user)
|
|
{
|
|
return static::forCompany()->whereHas('users', fn ($query) => $query->where('users.id', $user->id))->orderBy('name')->get();
|
|
}
|
|
}
|