All checks were successful
star-cloud-deploy-demo / deploy-demo (push) Successful in 1m4s
- [DOCS] 補齊 en, ja, zh_TW 語系檔翻譯並完善驗證錯誤訊息 (validation.php) - [FEAT] 角色權限頁面新增「所屬單位」篩選功能 (僅限系統管理員) - [STYLE] 優化角色列表顯示,將「類型」變更為具體「所屬單位」名稱 - [STYLE] 修正角色頁面工具列佈局,搜尋框置前並修正下拉箭頭顯示 - [REFACTOR] 統一全站刪除確認視窗,導入新版 <x-delete-confirm-modal /> 組件 - [REFACTOR] 優化 PermissionController 查詢效能 (Eager Loading) - [FIX] 修正 RoleSeeder 角色命名與資料庫同步邏輯
39 lines
790 B
PHP
39 lines
790 B
PHP
<?php
|
|
|
|
namespace App\Models\System;
|
|
|
|
use Spatie\Permission\Models\Role as SpatieRole;
|
|
|
|
class Role extends SpatieRole
|
|
{
|
|
protected $fillable = [
|
|
'name',
|
|
'guard_name',
|
|
'company_id',
|
|
'is_system',
|
|
];
|
|
|
|
protected $casts = [
|
|
'is_system' => 'boolean',
|
|
];
|
|
|
|
/**
|
|
* Get the company that owns the role.
|
|
*/
|
|
public function company()
|
|
{
|
|
return $this->belongsTo(Company::class);
|
|
}
|
|
|
|
/**
|
|
* Scope a query to only include roles for a specific company or system roles.
|
|
*/
|
|
public function scopeForCompany($query, $company_id)
|
|
{
|
|
return $query->where(function($q) use ($company_id) {
|
|
$q->where('company_id', $company_id)
|
|
->orWhereNull('company_id');
|
|
});
|
|
}
|
|
}
|