gpt4 book ai didi

php - 如何生成扩展自定义记录类的 Doctrine 模型/类

转载 作者:可可西里 更新时间:2023-11-01 13:44:21 25 4
gpt4 key购买 nike

当我使用 Doctrine 从 Yaml/db 生成类时,每个基类(包括表定义)扩展了 Doctrine_Record 类。

由于我的应用程序使用一个主数据库服务器和(多个)从数据库服务器,我需要能够使基类扩展我的自定义记录类以强制写入到主数据库服务器(如 here 所述)。但是,如果我手动更改基类,当我使用 Doctrine 从 Yaml/db 重新生成我的类时,我会再次丢失它。

我需要找到一种方法告诉 Doctrine 扩展我自己的基类,或者使用 Doctrine 找到主/从数据库设置的不同解决方案。

示例生成模型:

abstract class My_Base_User extends Doctrine_Record
{

但是我需要它自动生成为:

abstract class My_Base_User extends My_Record
{

我在新的 Zend Framework 1.9.6 应用程序中使用 Doctrine 1.2.1,如果它有任何不同的话。

最佳答案

通常,一旦我提出问题,我就会设法找到答案。我在这里记录下来,以防其他人遇到同样的问题。

您可以将参数 'baseClassName' 传递到 generateModels* 方法中,Doctrine 将使用它作为 Base 记录类。

例子:

Doctrine_Core::generateModelsFromDb('models', array('master'), array('generateTableClasses' => true, 'baseClassName' => 'My_Record'));

或使用 Cli:

$options['generate_models_options'] = array(
'pearStyle' => true,
'baseClassPrefix' => 'My_',
'baseClassName' => 'My_Record',
'classPrefix' => '',
'classPrefixFiles' => false,
'generateTableClasses' => true,
);

$cli = new Doctrine_Cli($options);

关于php - 如何生成扩展自定义记录类的 Doctrine 模型/类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1880863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com