在 Zend Framework 中,要使用多个参数进行数据库选择,可以通过以下步骤实现:
在 config/autoload/global.php
文件中,定义多个数据库配置,例如:
return [
'db' => [
'adapters' => [
'db1' => [
'driver' => 'Pdo',
'dsn' => 'mysql:host=localhost;dbname=db1',
'username' => 'username1',
'password' => 'password1',
],
'db2' => [
'driver' => 'Pdo',
'dsn' => 'mysql:host=localhost;dbname=db2',
'username' => 'username2',
'password' => 'password2',
],
],
],
];
在模型中,可以通过指定数据库配置名称来选择要使用的数据库。例如:
use Zend\Db\TableGateway\TableGateway;
class MyModel
{
protected $tableGateway1;
protected $tableGateway2;
public function __construct($adapter1, $adapter2)
{
$this->tableGateway1 = new TableGateway('table1', $adapter1);
$this->tableGateway2 = new TableGateway('table2', $adapter2);
}
public function fetchAll()
{
$resultSet1 = $this->tableGateway1->select();
$resultSet2 = $this->tableGateway2->select();
return [$resultSet1, $resultSet2];
}
}
在控制器中,可以通过依赖注入的方式实例化模型,并调用相关方法。例如:
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
use MyModel;
class MyController extends AbstractActionController
{
private $myModel;
public function __construct(MyModel $myModel)
{
$this->myModel = $myModel;
}
public function indexAction()
{
$result = $this->myModel->fetchAll();
return new ViewModel(['result1' => $result[0], 'result2' => $result[1]]);
}
}
通过以上步骤,可以实现在 Zend Framework 中使用多个参数进行数据库选择。
领取专属 10元无门槛券
手把手带您无忧上云