在我的Silex項目中,我使用數據庫抽象層包中的Doctrine查詢生成器。Doctrine查詢生成器和Silex
"doctrine/dbal": "^2.5"
我將它註冊到我的應用程序容器中,就像這樣。
/**
* Make a connection to the database.
*/
$app['db'] = function() use($app) {
$connectionParams = [
'dbname' => $_ENV['DBNAME'],
'user' => $_ENV['DBUSER'],
'password' => $_ENV['DBPASS'],
'host' => $_ENV['DBHOST'],
'driver' => $_ENV['DBDRIVER'],
];
return \Doctrine\DBAL\DriverManager::getConnection($connectionParams);
};
/**
* Instantiate the query builder
*/
$app['db.builder'] = function() use($app) {
return new \Doctrine\DBAL\Query\QueryBuilder($app['db']);
};
當我想查詢數據庫中的記錄,我使用一個倉庫模式,然後注入查詢生成器實例到庫中,然後我使用查詢生成器在我的存儲庫這樣創建的存儲庫。
$app['repository.user'] = function() use($app) {
return new App\Repositories\UserRepository($app['db.builder']);
};
$app['repository.book'] = function() use($app) {
return new App\Repositories\BookRepository($app['db.builder']);
};
在用戶信息庫我查詢的用戶,以獲取ID之後,我查詢屬於用戶本本的書庫,但問題是,當我使用查詢生成器在圖書庫已經充滿了以前的用戶表。我是否需要重置查詢構建器實例,或者我在將查詢構建器註冊到容器中時做了什麼問題?
什麼是您的硅石版本? –
@MaxP。 「silex/silex」:「〜2.0」 – DB93