如何一起使用adodb activerecord和orm

时间:2012-02-04 18:18:20

标签: php activerecord model adodb

在我的项目中,我想一起使用adodb orm和adodb activerecord。 我希望$ db属性中的adodb ORM和$ ar属性中的activerecord,我在我的课程中使用它们。

这是主要的Model类:

class Model {

        public $ar ;

        public $db;

    function __construct() {
        include('Model/adodb/adodb.inc.php');
        $this->db = ADONewConnection($driver);
        $this->db->Connect($server , $username , $password , $database) ;

        include('Model/adodb/adodb-active-record.inc.php');
        $ar = NewADOConnection("$driver://$username:$password@$server/$database");
        $thid->ar = ADOdb_Active_Record::SetDatabaseAdapter($ar);
     }
}

和帖子表类:

<?php
class Posts extends Model
{
   function getRows()
   {
         $re = $this->db->Execute('SELECT * From posts')    ;
         return $re->GetRows();
   }

   function getTitle()
   {
         $this->ar->load('id = 5');
         return $this->ar->title;
   }
}

在Posts类函数中,getRows正常工作但函数getTitle不起作用。

我如何在我的项目中使用它们?

1 个答案:

答案 0 :(得分:0)

我找到答案。 为此我创建了新类,然后从Adodb_activeRecord扩展:

class Model_ActiveRecord extends ADOdb_Active_Record
{
    function __construct($table = false, $pkeyarr = false, $db = false)
        {
            parent::__construct($table, $pkeyarr, $db);
        }
}

然后在我的构造函数模型中:

$this->ar = new Model_ActiveRecord('posts');