Drupal \ Node \ Entity \ Objet nœud ( [in_preview] => [Valeurs: Protégé] => Array ( [Vid] => Array ( [x-défaut] => 1 )
[langcode] => Array ( [x-default] => en ) [field_destination] => Array ( [x-default] => Array ( [0] => Array ( [target_id] => 2 ) ) )
6 Réponses :
Le code suivant vous procurera le terme objet dont vous avez besoin.
$name = $term->getName();
Comment Terme-Terminez-vous :: Causant une édition d'une édition.Fatal: Classe 'Drupal \ Rest \ Plugin \ Block \ Term \ Term' non trouvé.
@Vjamie j'ai essayé d'ajouter Utiliser \ drupal \ entité \ entité; code> et utilisé
Terme :: Charge (Nœud $-> Obtenir ('Field_Destination') - Code> Mais ça a échoué. Quelle classe avez-vous chargée?
construire sur Vjamie réponse.
Vous devrez soit définir une déclaration d'utilisation en haut de votre script; p> ou préfixe l'instance de classe avec l'espace de noms; p> qui va se débarrasser des fatales. p> p>
Vous pouvez également utiliser certaines méthodes de l'entitéReferenceFieldemlist:
Obtient les entités référencées par ce champ, préservant l'élément de champ deltas: espère qu'il vous sera utile p> p>
Si je ne me trompe pas, $ nœud-> obtenez ('field_destination') -> getentality (); code> retournera simplement
$ noode code>. La méthode
référencée () code> est très utile cependant.
@MARCVANGEND est correct, gettity () renvoie le parent de champ, c'est-à-dire son nœud. Référencée () est la bonne réponse.
Merci beaucoup pour vos réponses. Je vais supprimer Getentality () de ma réponse pour éviter toute confusion.
Une réponse très précise
C'est la meilleure réponse-délicieusement.
C'est la bonne façon sur la manière de l'atteindre
L'entité code> est accessible directement à partir de n'importe quel champ de référence.
$node = 'myNode';
$termEntity = $node->get('field_taxonomy_reference')->entity;
if ($termEntity instanceof TermInterface) {
$termLabel = $termEntity->label();
}
faire ce dans DRUPAL8 nous suivions suivant une approche de OOPS pour obtenir les valeurs. P> P>