相对较新的框架,MVC和OOP ......所以这是一个基本问题:
如果我有这样的帐户模型:
class Account_Model extends CI_Model
{
public function __construct()
{
parent::__construct();
$this->sybase = $this->load->database( 'sybase', TRUE );
}
}
然后控制器调用两个模型,这两个模型都从Account模型扩展:
class Account_List_Model extends Account_Model
{
public function __construct()
{
parent::__construct();
$sql = "SELECT ....";
return $this->sybase->query( $sql )->result();
}
}
和
class Account_Details_Model extends Account_Model
{
public function __construct()
{
parent::__construct();
$sql = "SELECT ....";
return $this->sybase->query( $sql )->result();
}
}
我的问题是他们都会使用相同的连接吗?我这样计划使用相同的连接,但现在我在想,因为父进程被构造两次,它将使用两个单独的连接。也许我过分思考这一点。也许我在想这个。 如果不是,单身人士是唯一的答案还是其他方式? 感谢
答案 0 :(得分:0)
CodeIgniter在您加载Database类时打开连接,因此只使用一个连接(除非您连接到两个或更多数据库)。
在模型中使用多种方法也没关系。我通常使用一个与特定数据库表关联的模型(如果我使用与密切相关的表的连接,有时会多于一个)。
我认为你很好继续。