【发布时间】:2011-04-13 05:38:53
【问题描述】:
我希望从我的 drupal 数据库中检索一些 nid。我有一个要运行的查询。
SELECT node.nid AS projectnid
FROM node node
INNER JOIN content_type_project node_data_field_project_client ON node.vid = node_data_field_project_client.vid
WHERE node_data_field_project_client.field_project_client_nid = (SELECT node_data_field_profile_company.field_profile_company_nid AS company_nid
FROM node node LEFT JOIN content_type_profile node_data_field_profile_company ON node.vid = node_data_field_profile_company.vid WHERE node.nid = 218)
我通过以下方式调用查询:
$query =
"
SELECT node.nid AS projectnid
FROM node node
INNER JOIN content_type_project node_data_field_project_client ON node.vid = node_data_field_project_client.vid
WHERE node_data_field_project_client.field_project_client_nid = (SELECT node_data_field_profile_company.field_profile_company_nid AS company_nid
FROM node node LEFT JOIN content_type_profile node_data_field_profile_company ON node.vid = node_data_field_profile_company.vid WHERE node.nid = 218)
";
$result = db_query($query);
dsm($result);
dsm 给了我一个空对象。当我直接运行 SQL 时,我会得到一个结果。
所以我的问题是如何让 db_query 将所有结果作为对象返回(我不介意对象或数组)。
(SQL 是通过查看视图的查询输出创建的。)
这是一个后续问题:Drupal Views Relationships and Arguments
我有一个 Person 内容类型。它有一个 公司节点引用字段 这也是一种内容类型。我那时 有一个名为 Project 的内容类型。一种 项目有一个节点引用 公司内容类型。我要列出 与一个人有关的所有项目 id (nid)id (nid)
【问题讨论】: