Réponses:
Vous cherchez la EntityFieldQuery
classe :
$query = new EntityFieldQuery;
$query->entityCondition('entity_type', 'node')
->entityCondition('bundle', 'article')
->fieldCondition('field_my_field', 'value', 'a_value')
->propertyCondition('status', 1)
->fieldOrderBy('field_my_field', 'value', 'DESC');
$results = $query->execute();
if (isset($results['node'])) {
$nodes = node_load_multiple(array_keys($results['node']));
foreach ($nodes as $nid => $node) {
// Do something with the node object
}
}
Le code ci-dessus charge toutes les entités de noeud avec un type de contenu de article
. Il filtre sur un champ personnalisé appelé field_my_field
et la status
propriété du nœud. J'ai seulement mis cela à titre de référence, vous n'en auriez pas besoin pour charger tous les nœuds sans aucun filtre. Il en va de même pour la commande par instruction.
J'espère que cela pourra aider.
Vous pouvez également essayer les deux lignes simples suivantes:
$res = (new EntityFieldQuery)->entityCondition('entity_type', 'node')->execute();
$entities = entity_load('node', array_keys(reset($res)));
Ou le one-liner suivant (PHP> = 5.5), prêt à l'emploi avec drush eval
:
print_r((new EntityFieldQuery)->entityCondition("entity_type", "node")->entityCondition("bundle", "page")->execute());
Pour les supprimer, veuillez vérifier: Puis-je supprimer des nœuds d'un type de contenu donné avec Drush?