我正在使用Symfony 1.4和Doctrine 1.2,我有以下数据库.yml:
all:
doctrine:
class: sfDoctrineDatabase
param:
dsn: xxxxx
username: xxxxx
password: xxxxx
attributes:
cascade_saves: false
我的印象是,使用上述内容会将Doctrine中的ATTR_CASCADE_SAVES
设置为false,但遇到了一些释放对象的问题,我注意到它实际上仍然是true
。
在任何操作文件中Var_dumping以下内容:
Doctrine_Manager::getInstance()->getAttribute(Doctrine::ATTR_CASCADE_SAVES);
...给了我(bool)true
。使用setAttribute()
明确将其设置为false会修复它,但我不想在我的代码中的几个地方调用它。顺便说一句,将其设置为false
可以解决我在保存后释放某些对象时遇到的问题。
任何人都可以告诉我有关禁用级联保存的正确databases.yml语法,或者我是否正在查看这个错误?我似乎无法通过谷歌找到任何有用的东西。
提前致谢。
答案 0 :(得分:1)
对我来说是正确的 - 但我做的事情略有不同......在config/ProjectConfiguration.class.php
文件中创建新功能 - >
public function configureDoctrineConnectionDoctrine(Doctrine_Connection $connection)
{
$connection->setAttribute('CASCADE_SAVES', false);
}
您需要更改功能名称以匹配您的连接名称...(然后结束“Doctrine”部分)