尝试编写Drupal模块时,“无法使用stdClass的对象作为数组”

时间:2013-08-12 10:35:37

标签: php drupal

我正在对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;

1 个答案:

答案 0 :(得分:1)

$regid可能是对象,因此您应该像这样使用它:$regid->entity_id