2012-10-12 20 views
0

我在Symfony 1.4項目的mysql數據庫中添加了一個新表格。我想在不使用Doctrine的情況下使用新表,但是我看到的所有示例都參考Doctrine_Manager::connection()以獲取數據庫連接。Symfony 1.4在沒有使用Doctrine的情況下在Mysql數據庫中查詢表格

我可以得到沒有Doctrine_Manager::connection()的數據庫連接嗎?

我想也使用普通的sql語句,但我認爲他們必須是PDO語句。

+0

好吧,如果你不想用理論來檢索連接,你將不得不從'database.yml'獲取信息,並使用PDO將自己連接到數據庫。我覺得浪費時間。爲什麼你不想使用Doctrine,至少是連接? – j0k

+0

我想避免「重建」或觸摸模型以使新表與工作原理一起工作。我正在從事的網站屬於一家公司,他們有實時從移動設備進入的數據。 – user1086880

+1

注意,你不會有模型表單,左連接上的懶加載,你不會有水合物等等。 – j0k

回答

1

那麼,如果你不想使用原則檢索連接,你將不得不從database.yml檢索信息,並使用PDO連接你自己的數據庫。

如果您databases.yml是這樣的:

all: 
    doctrine: 
    class: sfDoctrineDatabase 
    param: 
     dsn: 'mysql:dbname=testdb;host=127.0.0.1' 
     username: dbuser 
     password: dbpass 

您可以使用此代碼段創建一個新的連接PDO:

// create the connection 
$yml = sfYaml::load(sfConfig::get('sf_config_dir').'/databases.yml'); 
$params = $yml['all']['doctrine']['param']; 
$dbh = new PDO($params['dsn'], $params['username'], $params['password']); 

// perform your query 
$statement = $dbh->prepare($query); 
$statement->execute(); 
$results = $statement->fetchAll(); 
相關問題