gql getting concernement from entite
This commit is contained in:
parent
b9e092354c
commit
d7b9f4d209
@ -118,7 +118,8 @@ field_settings:
|
|||||||
label: Title
|
label: Title
|
||||||
datasource_id: 'entity:node'
|
datasource_id: 'entity:node'
|
||||||
property_path: title
|
property_path: title
|
||||||
type: string
|
type: text
|
||||||
|
boost: !!float 2
|
||||||
dependencies:
|
dependencies:
|
||||||
module:
|
module:
|
||||||
- node
|
- node
|
||||||
@ -126,7 +127,7 @@ field_settings:
|
|||||||
label: Title
|
label: Title
|
||||||
datasource_id: 'entity:node'
|
datasource_id: 'entity:node'
|
||||||
property_path: title
|
property_path: title
|
||||||
type: string
|
type: text
|
||||||
dependencies:
|
dependencies:
|
||||||
module:
|
module:
|
||||||
- node
|
- node
|
||||||
@ -134,7 +135,7 @@ field_settings:
|
|||||||
label: 'Entités » Paragraph » Entité » Contenu » Title'
|
label: 'Entités » Paragraph » Entité » Contenu » Title'
|
||||||
datasource_id: 'entity:node'
|
datasource_id: 'entity:node'
|
||||||
property_path: 'field_entite:entity:field_entite:entity:title'
|
property_path: 'field_entite:entity:field_entite:entity:title'
|
||||||
type: string
|
type: text
|
||||||
dependencies:
|
dependencies:
|
||||||
config:
|
config:
|
||||||
- field.storage.node.field_entite
|
- field.storage.node.field_entite
|
||||||
|
@ -30,7 +30,7 @@ field_settings:
|
|||||||
label: 'Experiences vécues » Paragraph » Liens'
|
label: 'Experiences vécues » Paragraph » Liens'
|
||||||
datasource_id: 'entity:node'
|
datasource_id: 'entity:node'
|
||||||
property_path: 'field_sources:entity:field_liens'
|
property_path: 'field_sources:entity:field_liens'
|
||||||
type: string
|
type: text
|
||||||
dependencies:
|
dependencies:
|
||||||
config:
|
config:
|
||||||
- field.storage.node.field_sources
|
- field.storage.node.field_sources
|
||||||
@ -85,7 +85,8 @@ field_settings:
|
|||||||
label: Title
|
label: Title
|
||||||
datasource_id: 'entity:node'
|
datasource_id: 'entity:node'
|
||||||
property_path: title
|
property_path: title
|
||||||
type: string
|
type: text
|
||||||
|
boost: !!float 2
|
||||||
dependencies:
|
dependencies:
|
||||||
module:
|
module:
|
||||||
- node
|
- node
|
||||||
|
@ -50,6 +50,7 @@ type Entite implements NodeInterface {
|
|||||||
proximite: [Entite]
|
proximite: [Entite]
|
||||||
agissante: Boolean
|
agissante: Boolean
|
||||||
sources: [Source]
|
sources: [Source]
|
||||||
|
concernement: Concernement
|
||||||
}
|
}
|
||||||
|
|
||||||
type Source {
|
type Source {
|
||||||
|
@ -485,6 +485,38 @@ class OuattSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|||||||
->map('field', $builder->fromValue('field_sources'))
|
->map('field', $builder->fromValue('field_sources'))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$registry->addFieldResolver('Entite', 'concernement',
|
||||||
|
$builder->compose(
|
||||||
|
$builder->callback(function($parent, $arg){
|
||||||
|
$entite_nid = $parent->id();
|
||||||
|
$node_storage = \Drupal::entityTypeManager()->getStorage('node');
|
||||||
|
$paragraph_storage = \Drupal::entityTypeManager()->getStorage('paragraph');
|
||||||
|
$query = $node_storage->getQuery()
|
||||||
|
->condition('type', ['concernement'], 'IN')
|
||||||
|
// ->condition('uid', $parent->id())
|
||||||
|
->accessCheck(TRUE);
|
||||||
|
$results = $query->execute();
|
||||||
|
$concernements = [];
|
||||||
|
foreach ($results as $nid) {
|
||||||
|
$concernement = $node_storage->load($nid);
|
||||||
|
$entite_integre_paragraph_values = $concernement->field_entite->getValue();
|
||||||
|
foreach ($entite_integre_paragraph_values as $paragraph_ids) {
|
||||||
|
$paragraph = $paragraph_storage->load($paragraph_ids['target_id']);
|
||||||
|
$field_entite_values = $paragraph->field_entite->getValue();
|
||||||
|
if ($field_entite_values[0]['target_id'] === $entite_nid) {
|
||||||
|
$concernements[] = $nid;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $concernements[0];
|
||||||
|
}),
|
||||||
|
$builder->produce('entity_load')
|
||||||
|
->map('type', $builder->fromValue('node'))
|
||||||
|
->map('id', $builder->fromParent())
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ____
|
// ____
|
||||||
|
Loading…
x
Reference in New Issue
Block a user