mysql - 加入/联合来自多个 Drupal 节点类型的内容
问题描述
我继承了一个无头 Drupal 站点,并且需要通过每个节点中的 ID 查询来连接多个节点,因为我无法修改节点本身。任何指导将不胜感激,因为我很迷茫。我已经尝试过连接和联合的变体(我读过的其中一些已被弃用?)无论如何,我发现没有一种方法有效。
node type = houses
field needed = title
ID for join = nid
Join = housing_override.field_house.target_id
node type = housing_override
field needed = title
field needed = field_application_types_ref
ID for join = field_house.target_id
node type = housing_rent_open_close
field needed = title
field needed = field_global_term.target_id
field needed = field_closes.value
field needed = field_opens.value
field needed = field_programs.target_id
ID for join = field_house.target_id
Join = housing_override.field_house.target_id
从连接返回数组的函数:
public function apiHousingOpenClose() {
$nids = \Drupal::entityQuery('node')->accessCheck(FALSE)
->condition('type', array('housing_override'))
? ? ? ? ? ? ? ? ?
->sort('title')->execute();
$nodes = \Drupal\node\Entity\Node::loadMultiple($nids);
$response = array();
foreach ($nodes as $node) {
$response_obj['field_house_id'] = $field_house->target_id;
$response_obj['other_field1'] = $other_field1->target_id;
$response_obj['other_field2'] = $other_field2->title;
$response_obj['other_field3'] = $other_field3->title;
$response_obj['other_field4'] = $other_field4->name;
$response_obj['other_field5'] = $other_field5->target_id;
echo json_encode($response);
exit();
}
感谢您提供的任何见解。
解决方案
推荐阅读
- ios - 未处理的异常:IOS 上的 MissingPluginException(未找到通道 plugins.flutter.io/firebase_messaging 上的方法 ****** 的实现)
- javascript - 我的 ajax 请求在第一页加载时不起作用?
- r - r highcharter 包中的径向(或圆形)条形图无法按我的意愿工作
- python-3.x - Tornado simplejson.errors.JSONDecodeError:预期值:第 1 行第 1 列(字符 0)
- java - Android Room 数据库中 id 字段的名称字段约定
- laravel - 带有 Laravel Lighthouse 的 GraphQL @belogsTo 相同的模型
- reactjs - 在反应测试中无法读取未定义错误的getstate属性
- c# - 如何在预制孩子上设置重心?
- javascript - React + Gatsby 静态查询 + GraphQL 中的条件渲染
- php - 如何从 CUrl 下载或导出 PHP 格式的 PDF 并输出到 VUE JS?