CaiWuXiTong/app/Models/Auth/UserAccessGroup.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();
}
}