2011-10-21 12 views
0

私は教義1.2でのSymfony 1.4を使用していると私は、次のdatabases.ymlの持っている:databases.ymlにDoctrine 1.2 ATTR_CASCADE_SAVESを設定するには?

all: 
    doctrine: 
    class: sfDoctrineDatabase 
    param: 
     dsn:  xxxxx 
     username: xxxxx 
     password: xxxxx 
     attributes: 
     cascade_saves: false 

私が使用して上記falseに教義にATTR_CASCADE_SAVESを設定しますという印象の下にあったが、しかしに遭遇しましたオブジェクトを解放する際のいくつかの問題は、実際には残っていることに気付いていますtrue。任意のアクションファイルに次のようにVar_dumping

Doctrine_Manager::getInstance()->getAttribute(Doctrine::ATTR_CASCADE_SAVES); 

は...私に(bool)trueを与えます。明示的にそれをfalseに設定すると、setAttribute()はそれを修正しますが、私はコードのいくつかの場所でこれを呼びたくありません。ちなみに、falseに設定すると、保存した後に特定のオブジェクトを解放する際に発生する問題が修正されます。

カスケードセーブを無効にする正しいdatabases.ymlの構文について助言してもらえますか、それとも間違っていますか?私はGoogleを介して有用なものを見つけることができないようです。

ありがとうございます。

答えて

1

が私に正しい見える - しかし、私は物事を少し異なる方法を実行します....あなたのconfig/ProjectConfiguration.class.phpファイルに新しい関数を作成します。 - >

public function configureDoctrineConnectionDoctrine(Doctrine_Connection $connection) 
{ 
    $connection->setAttribute('CASCADE_SAVES', false); 
} 

あなたの接続を一致させるために、関数名を変更する必要があります名前...(ちょうどその後、 "教義"の部分を終了します)

+0

ありがとうございました - 他の答えがなければ受け入れてください。 – Tom

関連する問題