This commit is contained in:
JaguarJack
2020-04-29 17:37:45 +08:00
parent 4d444e9bbc
commit b192a0151f
67 changed files with 4856 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
<?php
namespace catchAdmin\permissions\model\search;
trait DepartmentSearch
{
public function searchDepartmentNameAttr($query, $value, $data)
{
return $query->whereLike('department_name', $value);
}
public function searchStatusAttr($query, $value, $data)
{
return $query->where('status', $value);
}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace catchAdmin\permissions\model\search;
trait JobsSearch
{
public function searchJobNameAttr($query, $value, $data)
{
return $query->whereLike('job_name', $value);
}
public function searchCodingAttr($query, $value, $data)
{
return $query->whereLike('coding', $value);
}
public function searchStatusAttr($query, $value, $data)
{
return $query->where('status', $value);
}
}

View File

@@ -0,0 +1,31 @@
<?php
namespace catchAdmin\permissions\model\search;
use catchAdmin\permissions\model\Roles;
trait PermissionsSearch
{
public function searchPermissionNameAttr($query, $value, $data)
{
return $query->whereLike('permission_name', $value);
}
public function searchIdAttr($query, $value, $data)
{
$query->where('parent_id', $value)->whereOr('id', $value);
}
public function searchRoleIdAttr($query, $value, $data)
{
$permissionIds = [];
$permissions = Roles::where('id', $value)->find()->getPermissions();
foreach ($permissions as $_permission) {
$permissionIds[] = $_permission->pivot->permission_id;
}
if(!empty($permissionIds)) {
$query->whereIn('id', $permissionIds);
}
}
}

View File

@@ -0,0 +1,16 @@
<?php
namespace catchAdmin\permissions\model\search;
trait RolesSearch
{
public function searchRoleNameAttr($query, $value, $data)
{
return $query->whereLike('role_name', $value);
}
public function searchIdAttr($query, $value, $data)
{
$query->where('parent_id', $value)->whereOr('id', $value);
}
}

View File

@@ -0,0 +1,25 @@
<?php
namespace catchAdmin\permissions\model\search;
trait UserSearch
{
public function searchUsernameAttr($query, $value, $data)
{
return $query->whereLike('username', $value);
}
public function searchEmailAttr($query, $value, $data)
{
return $query->whereLike('email', $value);
}
public function searchStatusAttr($query, $value, $data)
{
return $query->where($this->aliasField('status'), $value);
}
public function searchDepartmentIdAttr($query, $value, $data)
{
return $query->where($this->aliasField('department_id'), $value);
}
}