我试图用php中sql的结果创建一个字段。我试图用“manifestaciontype”字段创建一个条件,并与值“compuesta”进行比较。
问题是我不知道该怎么做。我认为问题是n.manifestaciontype无法访问此字段的实际值,并且从不进行比较。我尝试了一些类似['und']['value']的东西,使用->节点,但是没有任何效果!!!我不知道要建这个。我太失望了!
这是我的密码:
$query = db_select('node', 'n')
->fields('n', array('nid', 'title'))
->condition('n.type', 'manifestacion_cultural', '=')
->condition('status', 1,'=')
**->condition('n.manifestacionType', 'compuesta', '=')**
->orderBy('title');
$result = $query->execute()->fetchAllKeyed();
return $result;
这样做的结果是没有什么,如果我删除**中的条件,我将收到status=1(publicated)的所有“manifestacion\u cultural”。我需要添加一个过滤器,它的条件是只接收'manifestaciontype'(this a field)='compuesta'。最有可能有一些更好的解决方案创建一个领域或方法来做这个查询,但我不知道如何。
非常感谢!
1条答案
按热度按时间rekjcdws1#
我不知道我是否正确地回答了你的问题,所以,如果不符合你的要求,请纠正我:
您有一个名为“manifestacion type”的字段,然后您希望获得那些内容类型为“manifestacion\u cultural”且“manifestacion type”字段值等于“compuesta”的节点结果。
在这种情况下,您需要使用节点表和“manifestacion type”字段表之间的联接构建一个db\u select,请访问您的数据库并检查“manifestacion type”字段表的名称,drupal总是这样创建一个字段表:field\u data\u fiel\u machine\u name