PHP ActiveRecord和CodeIgniter基本设置

PHP ActiveRecord和CodeIgniter基本设置,php,codeigniter,activerecord,Php,Codeigniter,Activerecord,我有一个非常基本的设置,我正试图使用它在CodeIgniter中测试PHP ActiveRecord。以下是我的设置: 文件名为product.php: class Product extends ActiveRecord\Model{ static $has_many = array( array('skus') ); } 文件名为sku.php: class Sku extends ActiveRecord\Model{

我有一个非常基本的设置,我正试图使用它在CodeIgniter中测试PHP ActiveRecord。以下是我的设置:

文件名为product.php:

class Product extends ActiveRecord\Model{

        static $has_many = array(
                array('skus')
        );

}
文件名为sku.php:

class Sku extends ActiveRecord\Model{

}
我的控制器具有以下代码:

class Test extends CI_Controller {

        public function __construct(){
                parent::__construct();
                $this->load->model('sku');
                $this->load->model('product');
        }

        public function index(){
                $product = Product::first();
                print_r($product);
        }
}
当我调用测试控制器的索引操作时,我得到以下输出:

PHP Fatal error:  Uncaught exception 'ReflectionException' with message 'Class Skus does not exist' in /var/www/domain.com/i.domain.com/sparks/php-activerecord/0.0.2/vendor/php-activerecord/lib/Reflections.php:33
Stack trace:
#0 /var/www/domain.com/i.domain.com/sparks/php-activerecord/0.0.2/vendor/php-activerecord/lib/Reflections.php(33): ReflectionClass->__construct('Skus')
#1 /var/www/domain.com/i.domain.com/sparks/php-activerecord/0.0.2/vendor/php-activerecord/lib/Relationship.php(286): ActiveRecord\Reflections->add('Skus')
#2 /var/www/domain.com/i.domain.com/sparks/php-activerecord/0.0.2/vendor/php-activerecord/lib/Relationship.php(281): ActiveRecord\AbstractRelationship->set_class_name('Skus')
#3 /var/www/domain.com/i.domain.com/sparks/php-activerecord/0.0.2/vendor/php-activerecord/lib/Relationship.php(464): ActiveRecord\AbstractRelationship->set_inferred_class_name()
#4 /var/www/domain.com/i.domain.com/sparks/php-a in /var/www/domain.com/i.domain.com/sparks/php-activerecord/0.0.2/vendor/php-activerecord/lib/Reflections.php on line 33

Fatal error: Uncaught exception 'ReflectionException' with message 'Class Skus does not exist' in /var/www/domain.com/i.domain.com/sparks/php-activerecord/0.0.2/vendor/php-activerecord/lib/Reflections.php:33
Stack trace:
#0 /var/www/domain.com/i.domain.com/sparks/php-activerecord/0.0.2/vendor/php-activerecord/lib/Reflections.php(33): ReflectionClass->__construct('Skus')
#1 /var/www/domain.com/i.domain.com/sparks/php-activerecord/0.0.2/vendor/php-activerecord/lib/Relationship.php(286): ActiveRecord\Reflections->add('Skus')
#2 /var/www/domain.com/i.domain.com/sparks/php-activerecord/0.0.2/vendor/php-activerecord/lib/Relationship.php(281): ActiveRecord\AbstractRelationship->set_class_name('Skus')
#3 /var/www/domain.com/i.domain.com/sparks/php-activerecord/0.0.2/vendor/php-activerecord/lib/Relationship.php(464): ActiveRecord\AbstractRelationship->set_inferred_class_name()
#4 /var/www/domain.com/i.domain.com/sparks/php-a in /var/www/domain.com/i.domain.com/sparks/php-activerecord/0.0.2/vendor/php-activerecord/lib/Reflections.php on line 33
有人知道这里会有什么问题吗?我不明白为什么active record尝试加载Sku复数类,而不是Sku类。根据PHP ActiveRecord文档,您应该为$has\u many声明使用复数名称


另外,我想澄清一下,如果我不在与另一个模型有很多关系的上下文中使用它,那么CodeIgniter能够正确地找到Sku模型。例如,如果我使用$this->load->model'sku'加载模型,该模型工作正常,那么从CodeIgniter的角度来看,我认为sku类没有任何问题。

请参考此URL以获取更多帮助

这些是codeigniter的基本活动记录

Class Product extends CI_Model{ function getbyid($id){ $this->db->select ( '*' ); $this->db->from ( 'user_table' ); $this->db->where ( 'user_id', $userID ); $query = $this->db->get (); return $query->result (); } }