User
Class User cung cấp cho bạn các method thao tác với data của người dùng
Thao tác với user
User::get
Method User::get
trả thông tin user theo điều kiện Query Builder, Nếu truy vấn của bạn có nhiều hơn một user, method chỉ trả về hàng đầu tiên. Kết quả được trả về như một đối tượng.
$user = User::get(Qr::set($id)->select('id', 'username'))
User::gets
Method User::gets
trả về danh sách user theo điều kiện Query Builder
$users = User::gets(Qr::set('status', 'public')->select('id', 'username'))
User::count
Method User::count
trả về số lượng user theo điều kiện Query Builder
$usersNumber = User::count(Qr::set('status', 'public'))
User::insert
Method User::insert
thêm or cập nhật thông tin user
Column Name | Type | Description |
---|---|---|
username | string | Tên đăng nhập |
password | string | Mật khẩu |
salt | string | Mã bảo mật (nếu không truyền sẽ tự động sinh) |
firstname | string | Họ chữ đệm user |
lastname | string | Tên của user |
string | Email của user (yêu cầu là duy nhất) | |
phone | string | Số điện thoại của user (yêu cầu là duy nhất) |
status | string | Trạng thái user [public,block] |
role | string | Nhòm (chức vụ) mặc định lấy từ Option::get('default_role') |
Khi bạn truyền thêm column id thì method sẽ tiến hành cập nhật user
Lưu ý khi cập nhật password cần mã hóa trước bằng Auth::generatePassword
.
Kết quả | Type | Description |
---|---|---|
Thành công | number | Id của user vừa ược thêm mới hoặc id user cập nhật |
Thất bại | SKD_Error | Object SKD_Error |
$user = [
'username' => 'example_username',
'password' => 'example_password',
'firstname' => 'Elon',
'lastname' => 'HeHe',
'email' => 'example@example.com',
'phone' => '000.000.000',
'status' => 'public'
]
User::insert($user);
User::delete
Method User::delete
xóa toàn bộ thông tin user khỏi database,
Kết quả sau khi thực thi là true nếu thành công và false khi xóa thất bại
User::delete($id);
User MetaData
Bảng users
của SkillDo được thiết kế để chỉ chứa thông tin cần thiết về người dùng.
Do đó, để lưu trữ dữ liệu bổ sung, bảng user_metadata đã được giới thiệu, có thể lưu trữ bất kỳ lượng dữ liệu tùy ý nào về người dùng
User::getMeta
Method User::getMeta
lấy metadata của user
Params | Type | Description |
---|---|---|
$userId | int | Id của user cần lấy metadata |
$metaKey | string | key của metadata cần lấy |
User::getMeta($userId, 'address');
User::updateMeta
Method User::updateMeta
thêm mới (nếu metaKey chưa có) hoặc cập nhật metadata của user
Params | Type | Description |
---|---|---|
$userId | int | Id của user cần thêm (cập nhật) metadata |
$metaKey | string | key của metadata cần thêm (cập nhật) |
$metaValue | mix | giá trị của metadata cần thêm (cập nhật) |
User::updateMeta($userId, 'address', '36 Đường D5, Phường 25');
User::deleteMeta
Method User::deleteMeta
xóa metadata của user khỏi database
Params | Type | Description |
---|---|---|
$userId | int | Id của user cần xóa metadata |
$metaKey | string | key của metadata cần xóa |
User::deleteMeta($userId, 'address');
Phân quyền
User::hasCap
Method User::hasCap
kiểm tra user có quyền sử dụng chức năng không, nếu có quyền trả về true ngược lại là false
if(User::hasCap($userId, 'edit_post')) {
//permission successfully
}
User::getCap
Method User::getCap
trả về các quyền user có thể sử dụng
dd(User::getCap($userId))
/**
"loggin_admin" => true
"switch_themes" => true
"edit_themes" => true
...
*/
User::getRole
Method User::getRole
trả về key nhóm (chức vụ) của user
dd(User::getRole($userId))
//["customer"]
User::getRoleName
Method User::getRoleName
trả về tên nhóm (chức vụ) của user
dd(User::getRoleName($userId))
//Khách hàng
User::setRole
Method User::setRole
set user vào nhóm (chức vụ) mới
dd(User::setRole($userId, 'administrator'))