WP酷 WP酷
  • 主题
  • 教程
  • 插件
  • 官方 QQ 群
  • 建站推荐
  • 联系
  • nicetheme® 奈思主题
  • 注册
    登录
立即登录
  • 请到 [后台->外观->菜单] 中设置菜单
首页 › WordPress 教程 › WP-Eloquent – 让 WordPress 像 Laravel 一样操作数据库

WP-Eloquent – 让 WordPress 像 Laravel 一样操作数据库

PCDotFan6年前

Eloquent 是 Laravel 的 ORM 组件,可以帮助我们非常方便的管理 WordPress 数据库,存取数据到数据表中,Eloquent 是 Laravel 是一个松耦合的实现,也就是说,我们可以把 Eloquent 用到第三方系统中,今天就为大家介绍一个可以帮助我们在 WordPress 使用 Eloquent 的 PHP 包。

GitHub 地址:https://github.com/tareq1988/wp-eloquent

 

通过 Composer 安装 Eloquent ORM 包

编辑你主题的 composer.json 文件,加入以下内容。

{
    "require": {
        "tareq1988/wp-eloquent": "dev-master"
    }
}

然后运行:

$ composer install

 

使用示例

引入 WP-Eloquent 包

在需要使用 Eloquent 的文件或者 WordPress 主题的 functions.php  文件中直接引入 Composer 生成的自动加载文件即可在 WordPress 中使用 Eloquent 包。

require_once( dirname( __FILE__ ) . '/../vendor/autoload.php' );

基本使用方法

$db = \WeDevs\ORM\Eloquent\Database::instance();

var_dump( $db->table('users')->find(1) );
var_dump( $db->select('SELECT * FROM wp_users WHERE id = ?', [1]) );
var_dump( $db->table('users')->where('user_login', 'john')->first() );

获取一个数据表中的所有行

$users = $db->table('users')->get();

foreach ($users as $user) {
    var_dump($user->display_name);
}

注意:users  就是 WordPress 数据库的中的 wp_users 数据表。在这里使用的时候,WP-Eloquent 会自动为我们添加前缀。

新建模型

use \WeDevs\ORM\Eloquent\Model as Model;

class Employee extends Model {

}

var_dump( Employee::all()->toArray() ); // 获取所有雇员
var_dump( Employee::find(1) ); // 获取 ID 为1 的雇员

类型 Employee 将被翻译为 PREFIX_employees  数据表然后运行查询,同时,如有需要,我们也可以修改数据表名称。

 

操作内置的 WordPress 模型

  • Post
  • Comment
  • Post Meta
  • User
  • User Meta
use WeDevs\ORM\WP\Post as Post;

var_dump( Post::all() ); // 只返回文章类型为 "post" 的文章

 

根据文章状态和文章类型过滤查询

use WeDevs\ORM\WP\Post as Post;
var_dump(Post::type('page')->get()->toArray()); // 获取页面
var_dump(Post::status('publish')->get()->toArray()); // 获取已发布的文章
var_dump(Post::type('page')->status('publish')->get()->toArray()); // 获取已发布的页面

 

工作原理

  • Eloquent 是一个比 WPDB 更为优雅的查询构建器(Query Builder)
  • Eloquent 使用 WPDB 进行数据库查询,即理论上不会增加额外的数据库连接和查询
  • 我们可以使用 debug-bar 或 query-monitor 来获取 SQL 查询报告

 

@Via:WordPress 智库

 
5
分享

本站下载管理系统「dl.mywpku.com」因年久失修而永久关闭。若需获得往年主题,请至 WP酷的百度网盘(提取码: 5rbm) 自行搜索下载。默认解压密码为「www.mywpku.com」。

对您造成的不便,敬请谅解!

PCDotFan 站长
文章 435评论 859
相关文章
  • [6.0 更新中文汉化]极度流行的SEO插件 – WordPress SEO by Yoast
  • WordPress 新用户注册邮件链接提示「您的密码重设链接无效」
  • AMP – 为 WordPress 移动站点操作全球访问优化
  • 去除谷歌服务 – WordPress 国外主题全方位加速
  • 使用 WP-CLI 简化 WordPress 操作流程
  • WordPress 基础开发 – 一探 WordPress Hook 机制及示例应用
  • 优化静态资源 – WordPress 国外主题全方位加速
  • WordPress 实现微信登录
评论 (2)
再想想
  • 胶质瘤

    很好,很强大

    4年前
  • 胶质瘤

    这个功能好强大哦!

    4年前
PCDotFan
站长
若无特别注明,则默认我发布的所有文章均为内容原创 / 翻译原创,转载时请保留来源。
435文章
859评论
3K获赞
猜你喜欢
利用审查元素轻松删改WP主题
10年前
WordPress 解决后台速度极慢 屏蔽国外字体Google Fonts
9年前
为WordPress添加后门 以备不时之需
9年前
  • 杂记
  • WordPress 付费主题推荐
Copyright © 2023 WP酷. Designed by nicetheme. 琼ICP备13002067号-1