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

Post

Class Posts cung cấp cho bạn các method thao tác với data của bài viết

Thao tác với Posts

get / first

Method get trả thông tin Posts theo điều kiện Query Builder, Nếu truy vấn của bạn có nhiều hơn một Posts, method chỉ trả về hàng đầu tiên. Kết quả được trả về như một đối tượng.

$post = Posts::get(Qr::set($id)->select('id', 'title', 'excerpt'));
//or
$post = Posts::where($id)->select('id', 'title', 'excerpt')->first();

gets / fetch

Method Posts::gets trả về danh sách Posts theo điều kiện Query Builder

$posts = Posts::gets(Qr::set('trash', 0)->select('id', 'title'));
//or
$posts = Posts::where('trash', 0)->select('id', 'title')->fetch();

Method related trả về danh sách Posts cùng chuyên mục với bài viết truyền vào

Tham số truyền vào bao gồm:

::related($object);
ParamsTypeDescription
$objectint, postid của bài viết hoặc bài viết cần lấy
$posts = Posts::where('public', 1)->related(10)->select('id', 'title')->fetch();

::getsCategory

Method Posts::getsCategory trả về danh sách danh mục của bài viết truyền vào

Tham số truyền vào bao gồm:

::getsCategory($object, $args);
ParamsTypeDescription
$objectint, postid của bài viết hoặc bài viết cần lấy
$argsQrĐiều kiện lọc dữ liệu
$categories = Posts::getsCategory(10, Qr::set()->select('id', 'name'))

count / amount

Method count trả về số lượng Posts theo điều kiện Query Builder

$postsNumber = Posts::count(Qr::set('trash', 0));
//or
$postsNumber = Posts::where('trash', 0)->amount();

insert

Method insert thêm or cập nhật thông tin Posts

Tham số thứ nhất nhận vào là một mãng bao gồm:

Column NameTypeDescription
titlestringTiêu để của post
excerptstringMô tả ngắn cho post
contentstringNội dung chi tiết cho post
imagestringĐường dẫn ảnh đại diện cho post
slugstringĐường dẫn của post nếu không truyền hệ thống tự tạo từ tiêu đề
seo_titlestringmeta title tự động lấy từ title nếu không điền
seo_descriptionstringmeta description tự động lấy từ excerpt nếu không điền
seo_keywordsstringmeta keywords
statusintTrạng thái 0 bình ường, 1 nổi bật (mặc định 0)
publicintTrạng thái hiển thị 0 ẩn, 1 hiển thị (mặc định 1)
trashint0 bình thường, 1 trong thùng rác (mặc định 0)
post_typestringLoại post (mặc định post)
user_updatedintId user cập nhật post
user_updatedintId user cập nhật post
languagearrayData các ngôn ngữ khác
taxonomiesarrayData các danh mục

Tham số thứ 2 nhận vào đối tượng $post cần cập nhật

Khi bạn truyền thêm column id thì method sẽ tiến hành cập nhật Posts

Kết quả sau khi thực thi:

Kết quảTypeDescription
Thành côngnumberId của Posts vừa ược thêm mới hoặc id Posts cập nhật
Thất bạiSKD_ErrorObject SKD_Error
//Thêm mới
$post = [
'title' => 'Tiêu đề bài viết',
'excerpt' => 'Nội dung tóm tắt',
'content' => 'Nội dung chi tiết',
'image' => 'uploads/images/example.png',
'public' => 1,
];
//Examples ngôn ngữ mặc định là vi ngôn ngữ phụ là en
$post['language'] = [
'en' => [
'title' => 'This is post name',
'excerpt' => 'excerpt post',
'content' => 'content post',
]
];
//Danh mục có cate_type là post_categories
$post['taxonomies'] = [
'post_categories' => [4,3] //danh sách id danh mục
];

Posts::insert($post);
//Cập nhật
$postUpdate = [
'id' => 10
'title' => 'example title post',
];
Posts::insert($postUpdate);
//Cập nhật nếu có sẳn đối tượng cần cập nhật
//Để giảm tải câu lệnh SQL
$id = 10;
$post = Posts::get(Qr::set($id));
$postUpdate = [
'id' => $id
'title' => 'example title post',
];
Posts::insert($postUpdate, $post);

update

Method update cập nhật một hoặc nhiều post theo điều kiện Query Builder

Tham số truyền vào bao gồm:

::update($updateData, $args);
ParamsTypeDescription
$updateDataarraymãng các trường thay đổi và giá trị cập nhật
$pageNew = [
'title' => 'example title page',
]
Posts::whereKey([1,2,3,4])->update($pageNew);

delete / remove

Method delete xóa toàn bộ thông tin một hoặc nhiều Page khỏi database,

Tham số truyền vào bao gồm:

::delete($id);
ParamsTypeDescription
$idintid bài viết cần xóa
Posts::delete($id);
//or
Posts::whereKey($id)->remove();

Post MetaData

Bảng post 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 post_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

::getMeta

Method Posts::getMeta lấy metadata của post

ParamsTypeDescription
$idintId của post cần lấy metadata
$metaKeystringkey của metadata cần lấy
Posts::getMeta($id, 'views');

::updateMeta

Method Posts::updateMeta thêm mới (nếu metaKey chưa có) hoặc cập nhật metadata của post

ParamsTypeDescription
$idintId của post 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)
Posts::updateMeta($id, 'views', 10);

::deleteMeta

Method Posts::deleteMeta xóa metadata của post khỏi database

ParamsTypeDescription
$idintId của post cần xóa metadata
$metaKeystringkey của metadata cần xóa
Posts::deleteMeta($id, 'views');