带有PHP Activerecord Spark多数据库的CodeIgniter

带有PHP Activerecord Spark多数据库的CodeIgniter,php,codeigniter,database-connection,phpactiverecord,Php,Codeigniter,Database Connection,Phpactiverecord,到目前为止,我非常喜欢CodeIgniter如何与PHP ActiveRecord ORM工具配合使用 如何指定要在模型中使用的连接 我的config/database.php文件设置了两个连接:$db['default']和$db['myOtherDb'] 感谢您在控制器内添加: var $db_1, $db_2; function __construct() { parent::__construct(); $db1_param = 'mysql://database_us

到目前为止,我非常喜欢CodeIgniter如何与PHP ActiveRecord ORM工具配合使用

如何指定要在模型中使用的连接

我的config/database.php文件设置了两个连接:
$db['default']
$db['myOtherDb']


感谢您在控制器内添加:

var $db_1, $db_2;
function __construct()
{
    parent::__construct();

    $db1_param = 'mysql://database_username:password@localhost/database_name?char_set=utf8&dbcollat=utf8_general_ci';
    $db2_param = 'mysql://database_username:password@localhost/database_name?char_set=utf8&dbcollat=utf8_general_ci';

    $this->db_1 = $this->load->database($db1_param, TRUE);
    $this->db_2 = $this->load->database($db2_param, TRUE);
}

然后处理程序是:$this->db_1,$this->db_2

load->database
函数中指定新的db名称

$otherdb = $this->load->database('myotherdb', TRUE);
更新:

我通过在我的ActiveRecord模型内调用IDE中的autocomplete并检查可用的方法/属性找到了解决方案,其中一个属性是
$connection
,我们可以将其设置为我们想要使用的连接,因此在我的模型中:

public static $connection = 'byOtherDb';

我知道在使用本机CI DB实现时使用这种方法。这适用于PHP ActiveRecord Spark吗?只要您的配置设置为允许活动记录,那么这与在PHP ActiveRecord模型中执行不带任何参数(即默认数据库)的
$this->load->database()操作相同,我不将db称为$this->db,只需调用PHP ActiveRecord方法(如create、find\u by\u sql等),因此,我的示例方法是:
public function getRequestsAndComments(){$query=“SELECT*FROM request;$results=self::find_by_sql($query);return$results;}
我知道在使用本机CI DB实现时使用这种方法。这适用于PHP ActiveRecord Spark吗?