Php 尝试使用Singleton模式为多个查询建立多个DB连接

Php 尝试使用Singleton模式为多个查询建立多个DB连接,php,Php,我试图从一个类中执行多个查询。每个对象数组返回到一个私有的_数据变量 问题是,当我执行新查询时,_datavar会被新数据覆盖。解决这种情况的最佳方法是什么 public function getDeliveryBy($orderid) { //ORDER CLASS $data = $this->_db->query("SELECT deliveryby FROM order WHERE orderid = $orderid"); //$data = $th

我试图从一个类中执行多个查询。每个对象数组返回到一个私有的_数据变量

问题是,当我执行新查询时,_datavar会被新数据覆盖。解决这种情况的最佳方法是什么

    public function getDeliveryBy($orderid) {
//ORDER CLASS
    $data = $this->_db->query("SELECT deliveryby FROM order WHERE orderid = $orderid");
    //$data = $this->_db->get('rt_order', array('orderid', '=', $orderid));

    if ($data->count()) {
        $this->_data = $data->first();
        //this returns the orderline...

        $return = '';

        $return .= '<select id="status" class="form-control" name="status">';

        //if in orderline the user is 0 set not set
        if ($this->data()->deliveryby === "0") {
            $return .= '<option value="0" selected>Not set</option>';
        }

        // Now i want to get a list of all employees...

        // get all employees
        //$result = $this->_db->query("SELECT id,username FROM users");

        foreach () {
        //make... mutiple options
        }


        $return .= '</select>';

        return $return;

    }
    return false;

}
}

将此添加到方法中

        //Get all employees
    $this->employee()->getAllUsers();
    foreach ($this->employee()->data() as $key=>$employee) {
        echo $employee->firstname, '<BR>';
    }
        //Get all employees
    $this->employee()->getAllUsers();
    foreach ($this->employee()->data() as $key=>$employee) {
        echo $employee->firstname, '<BR>';
    }
现在私有var数据仍然保存订单数据。。。用户数据保存用户数据

问题是我读到从另一个类实例一个新类是不合适的。。。这就是为什么我想知道我所做的是否可以

为用户类创建了一个类顺序构造函数中的新实例

public function __construct() {
$this->_db = DB::getInstance();
$this->_employee = new User();
public function __construct() {
$this->_db = DB::getInstance();
$this->_employee = new User();
}

将此添加到方法中

        //Get all employees
    $this->employee()->getAllUsers();
    foreach ($this->employee()->data() as $key=>$employee) {
        echo $employee->firstname, '<BR>';
    }
        //Get all employees
    $this->employee()->getAllUsers();
    foreach ($this->employee()->data() as $key=>$employee) {
        echo $employee->firstname, '<BR>';
    }
现在私有var数据仍然保存订单数据。。。用户数据保存用户数据


问题是我读到从另一个类实例一个新类是不合适的。。。s

我可以在usersclass中创建一个getAllUsers方法,并在order类中使用此数据?这是一个好方法吗?仅供参考:单例不是OOP范例的一部分。你的问题与连接和单例无关。这一切都取决于您如何实现业务逻辑和数据层。好的,我将更改我的问题并删除标记。。。