Php 使用Doctrine2和Laravel 5.1的两个不同数据库
我正在使用Doctrine2和laravel5.1 在我的database.php中,我建立了一个名为“adm”的新连接 “mysql”连接是默认连接Php 使用Doctrine2和Laravel 5.1的两个不同数据库,php,mysql,doctrine-orm,laravel-5,laravel-5.1,Php,Mysql,Doctrine Orm,Laravel 5,Laravel 5.1,我正在使用Doctrine2和laravel5.1 在我的database.php中,我建立了一个名为“adm”的新连接 “mysql”连接是默认连接 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), '
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
'adm' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => 'admin_condo',
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
]
在我的模型中,我使用实体管理器,如下所示:
class TemplateDAO
{
protected $em;
const ENTITY = 'App\Model\Entities\Template';
public function __construct (EntityManagerInterface $em, Validate $validate)
{
$this->em = $em;
$this->validate = $validate;
}
public function create($data)
{
$obj = Factory::create($data);
$this->em->persist($obj);
$this->em->flush($obj);
}
public function retrieve($id)
{
$obj = $this->em->getRepository(self::ENTITY)->find(['id' => $id]);
return Factory::retrieve($obj);
}
...
我想知道,在我的生活中我需要改变什么
DAO文件,要在“adm”中持久化而不是在默认数据库中?您是否尝试过类似于
DB::connection()
?您好,谢谢回答。是的,它确实可以与DB一起使用,但我想与Doctrine2一起使用,并使用EntityManager。。。如果不使用雄辩或pdo,我如何连接?