$vocabulary->vid))->fetchField()) { $candidate = mt_rand(1, $max); $query = db_select('taxonomy_term_data', 't'); $tid = $query ->fields('t', array('tid')) ->condition('t.vid', $vocabulary->vid, '=') ->condition('t.tid', $candidate, '>=') ->range(0,1) ->execute() ->fetchField(); // If there are no terms for the taxonomy, the query will fail, in which // case we return NULL. if ($tid === FALSE) { return NULL; } $object_field['tid'] = (int) $tid; return $object_field; } }