問題タブ [concrete-inheritance]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
304 参照

propel - 具体的な継承を持つ推進モデルのサブクラスのリストを見つけるにはどうすればよいですか

私は地元の慈善団体のためにミニcmsを構築しています(はい、フロスプロジェクトを使用できることは知っていますが、カスタムコーディングが必要です)

私の推進スキーマは現在そのように見えます:-

「home_page」と「static_page」を含むリストを取得できるようにしたいのですが、新しいページタイプを追加するたびにこれを手動で作成する必要はありません。

このようなリストを取得する簡単な方法はありますか、それともリフレクションクラスなどで魔法のようなものを書く必要がありますか?

0 投票する
1 に答える
1182 参照

inheritance - 同じスキーマ内の異なる継承タイプ

私は symfony プロジェクトで Doctrine 1.2 を使用しており、スキーマで具象と列集約の継承タイプを混在させることを検討しています: 列集約を使用すると、親テーブルでクエリを実行して親レコードと子レコードの両方を取得できますが、具象継承を使用すると取得できますよりクリーンなスキーマ。さらに、ミックスは同じ継承チェーンになります。スキーマ ファイルはどのように記述しますか? 次のように?

または、おそらく次のように:

危険/注意事項はありますか?

0 投票する
0 に答える
369 参照

inheritance - 教義の継承:テーブルのすべての子を見つける

Doctrineのテーブル継承について質問があります。例として、3つのテーブルを使用します。

ご覧のとおり、親テーブルNotificationと2つの子テーブルNotificationLikeがあり、NotificationComment具象継承を使用して親テーブルを拡張しています。

すべての通知を受け取りたいです。なんらかのJOINなしでどうすればいいですか?

試してみるとDoctrine_Core::getTable('Notification')->findAll()、0レコードを取得します。

何か案は?

0 投票する
2 に答える
1501 参照

hibernate - Grails の具体的な非ドメイン クラスの継承による Hibernate MappingException

シナリオ

オブジェクトを 2 つの異なるコンテキストで表現する必要があります。1 つのコンテキストは保持されるべきではなく、もう 1 つのコンテキストは保持されるべきです。永続オブジェクトは、別のシステムから取得された実際のデータです。非永続オブジェクトは、製品定義の一部を表します。この 2 つを比較しますが、定義データの保存には関心がありません。永続オブジェクトには、追加情報が保存されている必要があります。

実装

これを達成するために、最も論理的な方法は、src/groovy フォルダーに基底クラスを作成して、grails/hibernate がドメイン クラスとして永続化することを回避することであると判断しました。

永続化したいドメイン クラスは次のようになります。

最後に、所有するリソースがたくさんある所有者クラスがあります。

問題

アプリを実行すると、フレンドリーな Hibernate 例外が発生します。

おそらく私の実装は悪い習慣です.StackOverflowを何度もグーグル検索して検索した後、この同じ問題に直面したり、同様の実装を試みたりする人にまだ出会っていないからです. ほとんどの人は抽象クラスを使用しようとしていますが、これは機能します。インスタンス化する必要があるため、クラス Resource を具体的にしたいと考えています。答えは単に grails がこの機能を許可していないということかもしれませんが、決定的な答えと考えられる回避策を聞きたいです。継承を使用する代わりに、クラスを複製する必要があることに傾いています。

何が間違っているのですか?なぜこのエラーが発生するのですか? この実装は grails で実行できますか?

0 投票する
1 に答える
1955 参照

php - Doctrine2の具体的なテーブル継承と関連付け

Doctrine 2 Inheritance Mapping with Associationを読みAnimalましたが、それ自体がエンティティである必要がある場合は、オプションリストを作成する場合などです。

この場合、aのDiscriminator列Petは、の種列にありanimal tableます。

ペットデータベーススキーマ

したがって、クラスは次のようになります。

いくつかの問題があります。

  1. テーブルにはへの外部キーがありanimalませんowner。したがって、 $pets協会は機能しません。

  2. AnimalそしてPet多かれ少なかれ同じことです。誰かがそれらの変更で何かを変更した場合Animal、どのPetサブクラスにも反映されません。

最初の問題に対する可能な解決策は、と呼ばれる追加のテーブルを用意するpetことですが、識別子の列がまだanimalテーブルにあり、列を複製するとpet正規化が失敗するため、関連付けにはまだ問題があります。

ここに画像の説明を入力してください

0 投票する
1 に答える
3535 参照

python - SQLAlchemyの具体的な継承とのポリモーフィックな関係

SQLAlchemyで具象テーブルの継承を使用しています。宣言型モデルクラスでは、正常に構成されています。

私のコードは次のようになります:

シェルでテストしている間は正常に動作します。

それから、他のモデルで関係を設定しているときに問題が発生します。各エントリにはモデルpost_idを結合するための外部キーPostがありますが、でバックリファレンスを定義できませんでしたPost。それはうまくいきません:

例外が発生し、次のように述べました。

InvalidRequestError:1つ以上のマッパーが初期化に失敗しました-他のマッパーの初期化を続行できません。元の例外は次のとおりです。クラス'models.entry.Entry'はマップされていません。

明らかに、Entryこれは抽象クラスであり、実際に存在するテーブルにマップできませんでした。公式ウェブサイトのドキュメントには例がありますが、その基本クラスは抽象的ではありません。では、抽象モデルとのポリモーフィックな関係を設定するにはどうすればよいですか?

0 投票する
3 に答える
1235 参照

php - Symfony2、Propelフィクスチャと具体的な継承

Symfony2にPropelフィクスチャをロードする際に問題が発生しました。私は次のスキーマを持っています:

モデルは正しく構築されます。次のフィクスチャをロードしようとすると、問題が発生します。

次のエラーが発生します。

[Propel]例外
自動インクリメント主キー(application.ID)の値を挿入できません

IphoneApplicationIdentifierフィクスチャで別の問題が発生しないように、「first_app」アプリケーションを2回追加しました(1つはApplicationに、もう1つはIphoneApplicationに)。

[Propel]例外クラス「Acme\MyBundle \ Model\Application」のオブジェクト「first_app」がデータファイルに定義されていません。

具体的な継承モデルのフィクスチャを挿入するにはどうすればよいですか?