drupal 7 で hook_entity_info を使用して 2 つのカスタム エンティティを作成しました。エンティティは、指定されたデータベース テーブルに対して作成されます。各エンティティのビューを個別に作成することはできますが、両方のエンティティのビューを一緒に作成したいと考えています。フィールドの追加オプションは、選択したエンティティのフィールドのみを表示します。
両方のエンティティを関連付けるにはどうすればよいですか?
drupal 7 で hook_entity_info を使用して 2 つのカスタム エンティティを作成しました。エンティティは、指定されたデータベース テーブルに対して作成されます。各エンティティのビューを個別に作成することはできますが、両方のエンティティのビューを一緒に作成したいと考えています。フィールドの追加オプションは、選択したエンティティのフィールドのみを表示します。
両方のエンティティを関連付けるにはどうすればよいですか?
私は2つの解決策を得ることができました:
1) リレーション、リレーション終了フィールド、リレーション UI の使用
2)hook_views_data_alter
コマース モジュールの例を使用:
Function hook_views_data_alter(){
// Expose the uid as a relationship to users.
$data['users']['uc_orders'] = array(
'title' => t('Orders'),
'help' => t('Relate a user to the orders they have placed. This relationship will create one record for each order placed by the user.'),
'relationship' => array(
'base' => 'uc_orders',
'base field' => 'uid',
'relationship field' => 'uid',
'handler' => 'views_handler_relationship',
'label' => t('orders'),
),
);
}