Category
Class PostCategory cung cấp cho bạn các method thao tác với data của danh mục bài viết
Khi sử dụng Query Builder không có điều kiện cate_type mặc định cate_type sẽ là
post_categories
Thao tác với danh mục
get / first
Method get
trả thông tin PostCategory theo điều kiện Query Builder, Nếu truy vấn của bạn có nhiều hơn một PostCategory, method chỉ trả về hàng đầu tiên. Kết quả được trả về như một đối tượng.
$category = PostCategory::get(Qr::set($id)->select('id', 'name', 'excerpt'));
//or
$category = PostCategory::where('id', $id)->select('id', 'name', 'excerpt')->first();
gets / fetch
Method gets
trả về danh sách PostCategory theo điều kiện Query Builder
$categories = PostCategory::gets(Qr::set('trash', 0)->select('id', 'title'));
//or
$categories = PostCategory::where('trash', 0)->select('id', 'title')->fetch();
Lấy và sắp sếp danh mục theo level
$categories = PostCategory::select('name', 'level')->tree();
/* Array
(
[0] => stdClass Object (
[name] => Blog
[level] => 1
)
[1] => stdClass Object (
[name] => Blog 1
[level] => 2
)
[2] => stdClass Object (
[name] => Blog 2
[level] => 2
)
[3] => stdClass Object (
[name] => Projects
[level] => 1
)
[4] => stdClass Object (
[name] => Jobs
[level] => 1
)
[5] => stdClass Object (
[name] => Jobs HCM
[level] => 2
)
[6] => stdClass Object (
[name] => Jobs HN
[level] => 2
)
) */
Trả về cây thư mục lồng nhau
$categories = PostCategory::select('name')->multilevel();
/* Array
(
[0] => stdClass Object (
[name] => Blog
[child] => Array (
[0] => stdClass Object (
[name] => Blog 1
[child] => Array ()
)
[1] => stdClass Object (
[name] => Blog 2
[child] => Array ()
)
)
)
[1] => stdClass Object (
[name] => Projects
)
[2] => stdClass Object (
[name] => Jobs
[child] => Array (
[0] => stdClass Object (
[name] => Jobs HCM
[child] => Array ()
)
[1] => stdClass Object (
[name] => Jobs HN
[child] => Array ()
)
)
)
) */
Trả về cây thư mục phẳng theo dạng key => value
$categories = PostCategory::select('id', 'name', 'level')->options();
/* Array
(
[0] => Chọn danh mục
[1] => Blog
[2] => |-----Blog 1
[3] => |-----Blog 2
[4] => Projects
[5] => Jobs
[6] => |-----Jobs HCM
[7] => |-----Jobs HN
) */
PostCategory::children
Method PostCategory::children
trả về danh sách id của danh mục con theo danh mục cha
Tham số truyền vào bao gồm:
::children($args)
Params | Type | Description | Default |
---|---|---|---|
andParent | bool | Nếu true kết quả trả về sẽ kèm theo cả id danh mục cha | false |
id | int | Id danh mục cha cần lấy danh sách id danh mục con | |
category | object | Nếu không có id sẽ lấy theo object danh mục (phải bao gồm id, lft, rgt) | null |
$listId = PostCategory::children(['andParent' => true, 'id' => 1]);
$listId = PostCategory::children(['andParent' => true, 'category' => PostCategory::get(Qr::set(1)->select('id', 'lft', 'rgt'))]);