带有PHP Activerecord Spark多数据库的CodeIgniter
到目前为止,我非常喜欢CodeIgniter如何与PHP ActiveRecord ORM工具配合使用 如何指定要在模型中使用的连接 我的config/database.php文件设置了两个连接:带有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
$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吗?