花粉解决方案/wp-database

花粉解决方案 - WordPress 数据库组件 - Pollen 数据库组件的 WordPress 适配器。

v1.0.2 2021-10-01 00:00 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:47 UTC


README

Latest Stable Version MIT Licensed PHP Supported Versions

WordPress 数据库 组件是 Pollen 数据库组件的 WordPress 适配器。

安装

composer require pollen-solutions/wp-database

基本用法

用户

标准(带有格式化元属性追加)

use Pollen\WpDatabase\Eloquent\User;

$users = User::on()->limit(10)->get();
try {
    $data = json_encode($users->toArray(), JSON_THROW_ON_ERROR);
} catch (\Throwable $e ) {
    $data = $e->getMessage();
}
echo $data;

包含所有非格式化元数据

use Pollen\WpDatabase\Eloquent\User;

$users = User::on()->with('metas')->limit(10)->get();
try {
    $data = json_encode($users->toArray(), JSON_THROW_ON_ERROR);
} catch (\Throwable $e ) {
    $data = $e->getMessage();
}
echo $data;

禁用格式化元属性

use Pollen\WpDatabase\Eloquent\User;

$users = User::on()->limit(10)->get();
try {
    $data = json_encode($users->makeHidden(User::metaAttributes())->toArray(), JSON_THROW_ON_ERROR);
} catch (\Throwable $e ) {
    $data = $e->getMessage();
}
echo $data;

包含所有相关文章(不推荐)

主要资源消费者,不良实践...

use Pollen\WpDatabase\Eloquent\User;

$users = User::on()->with('posts')->find(1);
try {
    $data = json_encode($users->toArray(), JSON_THROW_ON_ERROR);
} catch (\Throwable $e ) {
    $data = $e->getMessage();
}
echo $data;

角色约束

全局范围
namespace App\Model;

use Pollen\WpDatabase\Eloquent\User;

class Administrator extends User
{
    public $userRoleScope = 'administrator';
}

$admins = Administrator::on()->limit(10)->get();
try {
    $data = json_encode($admins->toArray(), JSON_THROW_ON_ERROR);
} catch (\Throwable $e ) {
    $data = $e->getMessage();
}
echo $data;
动态范围
use Pollen\WpDatabase\Eloquent\User;

$users = User::on()->role('administrator')->limit(10)->get();
try {
    $data = json_encode($users->toArray(), JSON_THROW_ON_ERROR);
} catch (\Throwable $e ) {
    $data = $e->getMessage();
}
echo $data;

博客约束

全局范围
use Pollen\WpDatabase\Eloquent\User;

User::setBlogScope(2);

$users = User::on()->role('administrator')->limit(10)->get();
try {
    $data = json_encode($users->toArray(), JSON_THROW_ON_ERROR);
} catch (\Throwable $e ) {
    $data = $e->getMessage();
}
echo $data;

User::resetBlogScope();
动态范围
use Pollen\WpDatabase\Eloquent\User;

$users = User::on()->blog(2)->limit(10)->get();
try {
    $data = json_encode($users->toArray(), JSON_THROW_ON_ERROR);
} catch (\Throwable $e ) {
    $data = $e->getMessage();
}
echo $data;