我希望从我的 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 视图关系和参数 https://stackoverflow.com/questions/3718743/drupal-views-relationships-and-arguments
我有一个 Person 内容类型。它有一个
公司节点参考字段
这也是一种内容类型。我然后
有一个名为“项目”的内容类型。 A
项目有一个节点引用
公司内容类型。我想列出
与一个人相关的所有项目
id(nid)id(nid)
以下作品:
$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)
";
$results = db_query($query);
while ($result = db_result($results)) {
dsm($result);
}
您需要使用 db_result() 来获取结果。通过使用解决了这个问题http://drupal.org/node/259432#comment-846946 http://drupal.org/node/259432#comment-846946
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)