ssnepenthe/wpdb-engine-for-latitude

使用latitude查询构建器构建针对wpdb的查询

0.1.0 2022-07-06 21:25 UTC

This package is auto-updated.

Last update: 2024-09-19 02:02:15 UTC


README

使用latitude查询构建器构建用于wpdb的查询。

警告

此软件包目前正在开发中,并在v1.0版本标记之前可能不通知地进行重大更改。

这是我在探索WordPress现代化工作方式的一系列WordPress玩具之一。

正如标签所示,它应该被视为玩具。

安装

composer require ssnepenthe/wpdb-engine-for-latitude

使用方法

首先查看latitude文档。使用此软件包将与它基本相同。

以下列出了重要差异

WpdbEngine

提供给查询工厂的引擎始终应该是WpdbEngine的实例。

use Latitude\QueryBuilder\QueryFactory;
use WpdbEngineForLatitude\WpdbEngine;

$factory = new QueryFactory(new WpdbEngine());

字段函数

代替Latitude\QueryBuilder\field()函数,使用WpdbEngineForLatitude\field()

use function WpdbEngineForLatitude\field;

$query = $factory
    ->select('id', 'username')
    ->from('users')
    ->where(field('id')->eq(5))
    ->compile();

搜索函数

代替Latitude\QueryBuilder\search()函数,使用WpdbEngineForLatitude\search()

use function WpdbEngineForLatitude\search;

$query = $factory
    ->select()
    ->from('users')
    ->where(search('first_name')->begins('john'))
    ->compile();

与Wpdb一起使用

一旦编译了查询实例,应通过wpdb->prepare()方法传递sql和params以获取最终的查询字符串。

global $wpdb;

$queryString = $wpdb->prepare($query->sql(), ...$query->params());

最后,使用任何wpdb查询方法使用它。

$result = $wpdb->get_row($queryString);

更多示例

请参阅tests/CodeReferenceExamplesTest.php中的测试 - 该文档中已经重新实现了wpdb代码参考页面中的示例。