我正在对Drupal数据库的选择进行测试(目前有一个静态值,因为我还没有编写从数据库中提取值的代码),并且我不断使用stdClass的对象作为一个数组,如果我使用fetchAll(),如果我使用fetchAssoc,函数必须是一个字符串。
我在这里做错了什么?这显然是一个不正确的数据类型的问题,但我不确定为什么。
function multi_reg_get_id() {
$typevalue = 'reg_type_1';
$result = db_select('registration', 'reg')
->fields('reg', array('entity_id'))
->condition('type', $typevalue, '=')
->groupBy('entity_id')
->execute()
->fetchAll();
print_r($result);
return $result;
}
/**
* Generate checkboxes for multiple registration form
*/
function multi_reg_checkbox() {
$checkbox = array();
$multi_reg_id = multi_reg_get_id();
foreach ($multi_reg_id as $regid) {
print_r($regid['entity_id']);
$node = $node_load($regid['entity_id']);
$title = $node->title;
$checkbox[$title] = $regid;
}
return $checkbox;
答案 0 :(得分:1)
$regid
可能是对象,因此您应该像这样使用它:$regid->entity_id