Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

koneksi database dinamis symfony2 menggunakan doktrin

Tampaknya bagi saya bahwa menggunakan Doctrines ODM bukanlah cara yang tepat untuk mendekati ini. Anda masih dapat menggunakan Doctrine untuk terhubung ke database dan menanyakannya. Tetapi jika Anda tidak memiliki kelas entitas, penggunaan manajer entitas tampaknya tidak tepat.

Gunakan Doktrin untuk penanganan Koneksi

Berikut adalah cara membuat koneksi ke Database dengan doktrin Connection kelas:

/** @var \Doctrine\Bundle\DoctrineBundle\ConnectionFactory $connectionFactory */
$connectionFactory = $this->getContainer()->get('doctrine.dbal.connection_factory');
$connection = $connectionFactory->createConnection(
    array('pdo' => new \PDO("mysql:host=$hostname;dbname=$dbname", $username, $password))
);

Sekarang Anda dapat menggunakan $connection sebagai PDO sederhana objek:

$connection->executeQuery('SELECT * FROM your_table');

Anda dapat menambahkan kode ini sebagai layanan untuk membuatnya dapat diakses di mana saja.
Jika Anda ingin terhubung ke database yang berbeda untuk domain yang berbeda, Anda dapat menggunakan kode ini untuk mengidentifikasi domain:

$this->getRequest()->getHost();

Untuk mengakses domain dalam tindakan lakukan ini:

public function yourAction(Request $request, /* ... */)
{
    // the Controller extends the Container. So need to get it here:
    $connectionFactory = $this->get('doctrine.dbal.connection_factory');

    // also access the domain like this:
    $domain = $request->getHost();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara memasukkan data bidang tersembunyi ke dalam database menggunakan php

  2. Mendapatkan pesan SQLEXCEPTION dalam prosedur MySQL

  3. Menggunakan MySQL 5 , Penyedia Keanggotaan Sederhana, ASP.NET MVC4 dengan Entity Framework 5

  4. Caching di JDBC

  5. Pustaka PHP Model Kumpulan Bersarang