問題タブ [class-table-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 に答える
841 参照

symfony - Doctrine2 クラステーブル継承 Entity ID

私はこの状況を持っています

エンティティを生成するときに、継承を追加します

両方のエンティティの同じ「id」列名が原因で、データベース スキーマを更新しようとすると問題が発生します。属性オーバーライドを追加しようとしましたが、これは適切な方法ではないと思います

guest_id のプロパティ名 (列名ではない) も変更しようとしましたが、エラーは同じです

ゲストの「id」列名を変更する必要がありますか? どこが間違っていますか?

ありがとうございました

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

mysql - Mysql サブタイプとスーパータイプ - データベース モデリング

学習目的で個人的なプロジェクトを開発しようとしています。広告主 (登録ユーザー) が所有する物件 (アパート、土地、家屋など) の広告を、賃貸 (一定期間または不定期間) または販売用に掲載できる不動産 Web サイト。また、クライアント (訪問者) が特定の場所で賃貸または購入する特定のタイプのプロパティを検索できる場所。

ビジネスルール:

  • ユーザーは登録済みです。
  • ユーザーには 1 つの役割と 1 つの役割 (ユーザー、管理者など) しかありません。
  • ロールは多くのユーザーに属します (各ユーザーのデフォルトのロールはユーザーです)。
  • ユーザーには 1 つの場所があり、場所は 1 つだけです (場所は住所を参照)。
  • 場所は多くのユーザーに属しています。
  • ユーザーは多くのプロパティを持っています (賃貸または販売のいずれか)。
  • プロパティは 1 人のユーザーに属します。
  • プロパティは 1 つの場所に属します (場所は住所を指します)。
  • ファイルはプロパティに属しています。
  • プロパティには多くのファイル (基本的には画像) があります。

ここに画像の説明を入力

私は非常に多くのGoogle検索を行い、databaseanswers.orgでいくつかのデータベースモデリングを見ましが、プロパティのタイプ/機能に行き詰まっています。実際には理解できません。これに対する最良の解決策がわかりません!! 物件のタイプごとに特徴が異なるため、たとえば、アパートには部屋、バスルームがありますが、土地にはありません。土地については、町内または町外と言えます…</p>

このデータベースをより保守しやすくスケーラブルに設計したいと考えています。データベースの設計構造によって、開発中にクエリやコードが複雑になることは望ましくありません。

私の「小さな」問題について何かアドバイスをいただければ幸いです。

プロパティのタイプを独自のエンティティ(テーブル) (たとえば、アパートテーブル、土地テーブル、住宅テーブルなど)に分離する必要がありますか? そうすれば、それらを独自の機能に関連付けることができます

または、それらを 1 つのテーブル「Properties」にすべてのFeaturesとマージし、別のテーブル「Type」を使用して各プロパティをそのタイプにリンクする必要がありますか (投稿やカテゴリのように)。

または、4 つのテーブル"Properties" "Type" "Features"とピボット テーブル"feature_property"を作成する必要がありますか。

  • プロパティは 1 つのタイプ (アパート、土地、家屋など) に属します。
  • 型には多くのプロパティがあります。
  • 機能には多くのプロパティがあります。
  • プロパティには多くの機能があります。
0 投票する
1 に答える
374 参照

datetime - Doctrine クラステーブル継承プロパティは、クエリで間違った値を持っています

モデルで Doctrine の 2 つの概念を使用します。

  • クラステーブルの継承
  • ライフサイクル コールバック

親クラスの継承されたインスタンスをロードすると、データベースの親クラス テーブルにある値ではなく、ライフサイクル コールバックで更新される親プロパティが間違っています。

親 {abstract} クラス: ユーザー

子クラス: メンバー

次にコントローラーで

ここに私のデータベースコンテンツの抜粋があります

メンバーの updatedAt プロパティをデバッグすると、値が2016-06-01 12:00:00日付ではなく、に対応する DateTime オブジェクトであることが期待されます...

継承の読み込みにも関係していますか? それがどこから来たのかわかりません。