Drupal 7では、 Per-Bundle Storage(PBS) の開始があり、フィールドデータを単一のデータベーステーブルに保存しようとしましたが、それが理にかなっており、可能であればフィールドの性質。Drupal 7モジュールのPBSは、あまり人気がなく、Drupal 8.に移植されませんでした。
必要に応じて、Drupal 8のカスタムエンティティコードを記述して単一のテーブルにデータを格納することは可能です(たとえば、User
エンティティは、users_field_dataにフィールドを格納します)。
いくつかのフィールドを単一のデータベーステーブルに格納するために見落としている簡単な解決策があるかどうか、私は興味があります。
ここのコメントと自分の実験に基づいて自分の質問に答えます。 Drupal 8では、ベースフィールドを持つエンティティの作成は、Drupal 7.よりも簡単です。ここで、エンティティを作成するために実行した手順は次のとおりです= Drupal 8、単一のテーブルにフィールドがあります。私の状況について話します。犬のエンティティです。
drush generate module-content-entity
と質問に答えました。私は質問に答えました:exampledog/src/Entity/Dog.php
ファイル追加フィールドを返すようにbaseFieldDefinitions
関数を変更しました。フィールドタイプに関するいくつかの例とドキュメントは、前述の drupal.org doc page にあります。それでおしまい。修正はこれらのフィールドでうまく機能するようです。ビューの統合は、これらのフィールドに適しています。フィールドはすべてベーステーブルに格納されます。