Php 创建帮助程序->;对非对象调用成员函数get()

Php 创建帮助程序->;对非对象调用成员函数get(),php,codeigniter,Php,Codeigniter,我试图创建自己的助手,但遇到了一个问题 首先,我创建了一个名为select的函数。首先,如果你发现这个方法有问题,请告诉我 public function select($where = null, $order = null, $limit = null, $columns = '*') { if (!$columns) $this->db->select('*'); elseif (is_array($columns)) {

我试图创建自己的助手,但遇到了一个问题

首先,我创建了一个名为select的函数。首先,如果你发现这个方法有问题,请告诉我

public function select($where = null, $order = null, $limit = null, $columns = '*') {
        if (!$columns)
            $this->db->select('*');
        elseif (is_array($columns)) {
            $columns = implode(',', $columns);
            $this->db->select($columns);
        }

        if ($where)
            $this->db->where($where);
        if ($order)
            $this->db->order_by($order);
        if ($limit)
            $this->db->limit($limit);

        $query  = $this->db->get('pasaj_register');

        return $query;
    }
然后我试着这样调用这个函数

pasajItem  = new pasajItem();
         $a = $pasajItem->select();
         echo $a;
然而,我认为这是一个错误:

在助手中,您无法访问数据库。 首先,它不打算这样做。 您可能希望创建一个库,在其中创建时提供对数据库的引用

除了我认为您在这里制造的设计缺陷之外,您还必须使用:

$CI =& get_instance();
$CI->db->*****
从助手或库访问CodeIgniter数据库。 这是因为它们不是从包含对象的CodeIgniter标准类派生而来。

正如您在中所述,DB应该进入模型中。为什么这真的需要成为一个助手?为什么不是图书馆?模特?司机?无论如何,助手不是职业。对于这个问题和我之前看到的你的其他问题,我建议你休息一下,开始阅读(伟大的)CI文档;只要对CI的工作原理有一个全面的了解,您的许多问题都可以避免/回答。CI是最好的文档化框架之一,好好利用它吧!