Ricerca e Caricamento Entità
Tramite questo codice,
$profiles = \Drupal::entityTypeManager()->getStorage('profile')->loadByProperties(['uid' => \Drupal::currentUser()->id()]);
riesco a caricare e usare i campi di un nodo. Ho letto la spiegazione sulle API di Drupal su come utilizzare il codice ma ho dei dubbi.
Ho modificato il codice e fatto delle prove ma senza risultato
$cittaID = 212; $CittaDES = 'NAPOLI'; $node = \Drupal::entityTypeManager()->getStorage('node_type')->loadByProperties(['id' => $cittaID]); $a = current($node); $aa = $a->title->value;
Se ho capito bene il getStorage indica il tipo di content type (anche se in alcuni esempi mettono node ed in altri node_type e non ho capito perché forse versioni precedenti. Ho notato che con node_type esegue il codice. Con node no
LoadByProperty dovrebbe indicare la condizione su come effettuare la ricerca ed in questo caso con l'ID
Però non va
Parimenti posso effettuare la Ricerca per descrizione cambiando il loadByProperty
loadByProperties(['type' => $cittaDES]);
Il risultato non cambia
Il dubbio è invece di node_type devo usare il nome macchina del content type e cioè descrizione_localita (provato ma nulla)
Risposte
Letto anche
Letto anche questo
https://www.drupal.org/docs/drupal-apis/entity-api/working-with-the-enti...
e i dubbi aumentano
Estratto dal link che hai
Estratto dal link che hai postato:
<?php
$entities = \Drupal::entityTypeManager()->getStorage('node')->loadByProperties(['type' => 'article']);
?>
$entity_type è 'node' (tipo di entità: es: user, node, taxonomy_term, profile)
la proprietà type ['type' => 'article'] rappresenta il bundle del nodo (cioè il tipo di nodo)
Tolto un dubbio. Ho cambiato
Tolto un dubbio. Ho cambiato il codice in base alle tue indicazioni
e con
riesco a prendere un valore.
In questo caso LoadByProperty funge da filtro e mi restituisce tutti i nodi di descrizione_localita
La mia necessità è diversa e ho aggiornato il codice inviato nel primo post. Avevo sbagliato una proprietà
Un chiarimento,
il codice sopra indicato effettua una ricerca in tutti i nodi. Io ho la necessità di fare la ricerca unicamente all'interno del c.t. descrizione_località
Perchè ho due content type Comuni e Localita ed in entrambi può capitare ci sia lo stesso comune.
loadByProperties() prende in
loadByProperties() prende in input un array
scusa Maurizio mentre
scusa Maurizio mentre scrivevo mi hai risposto.
Potresti leggere il post precedente che ho aggionato?
http://drupal.it/supporto/ricerca-e-caricamento-entita#comment-13450
Sono riuscito in quel che volevo ma mi mancano ancora qualcosa da definire
Direi che la risposta è
Direi che la risposta è stessa, prendendo in input un array di proprietà, puoi passare più proprietà per avere filtri composti.
Si dopo tutte le tue
Si dopo tutte le tue indicazioni come logica ci arrivo ma non funzianando non riesco ad andare avanti. .
Commettevo un errore di sintassi scrivendo in maniera inesatta la coppia di proprietà.
Ti ringrazio soprattutto per la pazienza