propel 1.3 と 1.4 では、次の継承構造がうまく機能しました。
テーブル名="支払い方法" baseClass="rwf.lib.SymmetricEncryptedObject"> column name="id" type="INTEGER" required="true" autoIncrement="true" primaryKey="true"/> 列名="識別子" タイプ="INTEGER" 継承="単一" 必須="真"> inheritance key="1" class="Card" extends="lib.propel.PaymentMethod"/> 継承キー="2" クラス="RecurringPaymentMethod" extends="lib.propel.PaymentMethod"/> 継承キー="4" クラス="DirectDebit" extend="lib.propel.RecurringPaymentMethod"/> 継承キー="5" クラス="小切手" extends="lib.propel.PaymentMethod"/> 継承キー="6" クラス="PayPal" extends="lib.propel.PaymentMethod"/> inheritance key="7" class="Moto" extends="lib.propel.PaymentMethod"/> /列>
ただし、propel 1.5 では、新しい継承を作成するときに言う
inheritance key="8" class="RepeatingPayPal" extends="lib.propel.PaymentMethod"/>
次のエラーが表示されます
[PHP エラー] 引数 1 が DataModelBuilder::getNewStubObjectBuilder() に渡されました /usr/local/www/ で呼び出される、null を指定した Table のインスタンスでなければなりません /extlib/propel-1.5.2/generator/lib/builder/om/PH P5MultiExtendObjectBuilder.phpon 行 119 および定義済み [/usr/local/www/ の行 432 /extlib/propel-1.5.2/generator/lib/builder/DataModelBuilder.php] [PHP エラー] GeneratorConfig::getConfiguredBuilder() に引数 1 が渡されました /usr/local/www/ で呼び出される、null を指定した Table のインスタンスでなければなりません /extlib/propel-1.5.2/generator/lib/builder/DataModelBuilder.phpon 行 434 および定義済み [/usr/local/www/ の行 180 d/extlib/propel-1.5.2/generator/lib/config/GeneratorConfig.php] [PHP エラー] ObjectBuilder::__construct() に渡される引数 1 は、 /usr/local/www/ で呼び出される、null を指定したテーブルのインスタンス /extlib/propel-1.5.2/generator/lib/config/GeneratorConfig.phpon 行 183 および定義 [/usr/local/www/ の行 30 /extlib/propel-1.5.2/generator/lib/builder/om/ObjectBuilder.php] [PHP エラー] DataModelBuilder::__construct() に渡される引数 1 は、 /usr/local/www/ で呼び出される、null を指定したテーブルのインスタンス /extlib/propel-1.5.2/generator/lib/builder/om/ObjectBuilder.phpon 行 31 および定義済み [/usr/local/www/ の行 160 /extlib/propel-1.5.2/generator/lib/builder/DataModelBuilder.php]
これをほぼ解決するために、 extends セクションから lib.propel を削除できます。しかし、継承クラスを参照する継承を作成すると、同じエラーが発生します。
継承キー="3" クラス="ContinuousAuthorityCard" extends="lib.propel.RecurringPaymentMethod"/>
(lib.propel の有無にかかわらず)
これがバグなのか設定の問題なのかはわかりませんが、この状況を扱ったドキュメントが見つかりません。上に貼り付けた表の baseClass からわかるように、ここに使用するクラスと、rwf.lib という別のディレクトリにあるクラスがあるため、lib.propel を記述できるようにする必要があると思います。
誰かが私を正しい方向に向けてくれることを願っています。