Drupal \node\Entity\Node Object([in_preview] => [values:protected] => Array([vid] => Array([x-default] => 1)
[langcode] => Array
(
[x-default] => en
)
[field_destination] => Array
(
[x-default] => Array
(
[0] => Array
(
[target_id] => 2
)
)
)
Run Code Online (Sandbox Code Playgroud)
无法直接获取field_destination值.它是与内容类型相关的分类术语.任何帮助appriciated.
Chr*_*ian 18
以VJamie的答案为基础.
您需要在脚本的顶部设置一个use语句;
use Drupal\taxonomy\Entity\Term;
Run Code Online (Sandbox Code Playgroud)
或者,使用命名空间为类实例添加前缀;
$term = \Drupal\taxonomy\Entity\Term::load($node->get('field_destination')->target_id);
Run Code Online (Sandbox Code Playgroud)
这将摆脱致命.
wau*_*wau 11
您还可以使用EntityReferenceFieldItemList中的一些方法:获取此字段引用的实体,保留字段项增量:
$node->get('field_destination')->referencedEntities();
Run Code Online (Sandbox Code Playgroud)
希望它对你有用
小智 9
以下代码将为您提供所需的术语对象.
$term = Term::load($node->get('field_destination')->target_id);
Run Code Online (Sandbox Code Playgroud)
如果您需要该术语的名称,则可以执行以下操作
$name = $term->getName();
Run Code Online (Sandbox Code Playgroud)
希望这会有所帮助!
| 归档时间: |
|
| 查看次数: |
19762 次 |
| 最近记录: |