我在Drupal 7中创建了许多实体。
一个例子是实体'structuralunit',它有多个包含'csu_company'的包。
鉴于给定csu_company对象的structuralunit_id为'3',我如何在函数中访问其名称?
理想情况下,答案如下:
$id = '3';
get_company_name($id) {
//stuff
return $name
};
支持信息:
查询:
$ id = array(3); $ entity = entity_load('structuralunit',$ id,array());
上面的代码在devel中显示了一个包含我需要的值的数组,但是我不确定是否应该以这种方式加载实体,或者如何从中提取数据(我也是不确定,为什么我需要加载一个(单数)项的数组作为参数?)。
最后的想法:
我最终还是要处理返回的值 - 查找不同类型(任务)的实体数量,将实体引用字段设置为(公司名称的)值,以及每个任务实体提取'x'字段并将它们放在一个数组中以循环。
我希望通过了解加载实体的方法,找到并提取数据,我可以围绕后续任务。
干杯!
答案 0 :(得分:1)
一个重要的注意事项:entity_load的函数定义有一个数组作为第二个参数。
entity_load($entity_type, $ids = FALSE, $conditions = array(), $reset
= FALSE)
如果您正在寻找单个值(如您的示例所示),您仍需要将其作为数组传递。
您应该找到可用字符串的名称:
$entity[<OBJECTID>]->name