Wordpress 在其他类中扩展wpdb-当对select使用get_results时,返回null

Wordpress 在其他类中扩展wpdb-当对select使用get_results时,返回null,wordpress,Wordpress,我已经在WP中添加了自定义插件(由我创建),在这个插件中我有一个名为BaseModel的类,它扩展了wpdb 这里的问题是,每次尝试运行查询时,结果都是false、null或空数组 class BaseModel extends wpdb{ public function __construct(){ parent::__construct(DB_HOST, DB_USER, DB_PASS, DB_NAME); } function get_destinations($limit,

我已经在WP中添加了自定义插件(由我创建),在这个插件中我有一个名为BaseModel的类,它扩展了wpdb

这里的问题是,每次尝试运行查询时,结果都是false、null或空数组

class BaseModel extends wpdb{

public function __construct(){
    parent::__construct(DB_HOST, DB_USER, DB_PASS, DB_NAME);
}

function get_destinations($limit, $order){
    $query = "SELECT * FROM wp_relations";

    $result = $this->get_results($query, ARRAY_A);
    var_dump($result); 
}

function get_total_destinations(){
}}
谁能告诉我怎么了


谢谢。

实际上这不是一个完整的面向对象解决方案,但我通过在函数中添加全局$wpdb来解决这个问题

class BaseModel {


function get_destinations($limit, $order){
    global $wpdb;
    $query = "SELECT * FROM wp_relations";

    $result = $wpdb->get_results($query, ARRAY_A);
    var_dump($result); 
}

function get_total_destinations(){
}}
我希望这会对您有所帮助。


我想你不想从中扩展吗?如果该类总是加载在Wordpress文件中,那么您将有权访问全局$wpdb

class RandomClass {

    private $wpdb = false;

    public function __construct() {
        global $wpdb;

        if (is_object($wpdb)) {
            $this->wpdb = $wpdb;
        }
    }

    public function get_results($data) {
         return $this->wpdb->get_results($data);
    }
}    

是否确实定义了db凭据常量?
class RandomClass {

    private $wpdb = false;

    public function __construct() {
        global $wpdb;

        if (is_object($wpdb)) {
            $this->wpdb = $wpdb;
        }
    }

    public function get_results($data) {
         return $this->wpdb->get_results($data);
    }
}