Nhảy tới nội dung
Phiên bản: 7.0.0

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 NameTypeDescription
usernamestringTên đăng nhập
passwordstringMật khẩu
saltstringMã bảo mật (nếu không truyền sẽ tự động sinh)
firstnamestringHọ chữ đệm user
lastnamestringTên của user
emailstringEmail của user (yêu cầu là duy nhất)
phonestringSố điện thoại của user (yêu cầu là duy nhất)
statusstringTrạng thái user [public,block]
rolestringNhò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ả sau khi thực thi:

Kết quảTypeDescription
Thành côngnumberId của user vừa ược thêm mới hoặc id user cập nhật
Thất bạiSKD_ErrorObject 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

ParamsTypeDescription
$userIdintId của user cần lấy metadata
$metaKeystringkey 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

ParamsTypeDescription
$userIdintId của user cần thêm (cập nhật) metadata
$metaKeystringkey của metadata cần thêm (cập nhật)
$metaValuemixgiá 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

ParamsTypeDescription
$userIdintId của user cần xóa metadata
$metaKeystringkey 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'))