Php 我无法在moodle的外部队列中添加成员

Php 我无法在moodle的外部队列中添加成员,php,drupal,moodle,Php,Drupal,Moodle,我试图在队列中添加成员,但无论何时调用函数,都会得到响应。我使用drupal rest进行api调用 { "exception": "dml_write_exception", "errorcode": "dmlwriteexception", "message": "Error writing to database", "debuginfo": "Column 'role_id' cannot be null\nINSERT INTO mdl_cohort_m

我试图在队列中添加成员,但无论何时调用函数,都会得到响应。我使用drupal rest进行api调用

{
    "exception": "dml_write_exception",
    "errorcode": "dmlwriteexception",
    "message": "Error writing to database",
    "debuginfo": "Column 'role_id' cannot be null\nINSERT INTO mdl_cohort_members (cohortid,userid,timeadded,role_id) VALUES(?,?,?,?)\n[array (\n  0 => '3',\n  1 => '52367',\n  2 => 1460546128,\n  3 => NULL,\n)]"
}
有人能告诉我解决办法吗

{
   $fname = 'core_cohort_add_cohort_members';                    
  /// Paramètres
  $member = new stdClass();
  $member->cohorttype['type']='id';
  $member->cohorttype['value']='3';
  $member->usertype['type']='id';
  $member->usertype['value']='5';

  $members = array($member);
  $par = array('members' => $members);
  $rest_format = 'json';

  $Serve_Url = 'http://dev-lms.teletaleem.net' . '/webservice/rest/server.php'. '?wstoken=' . '7882bb500bcefcd8778de64b8e79a19a' .'&wsfunction='. $fname;
  require_once('curl.inc');
   $Rest_format = ($rest_format == 'json') ? '&moodlewsrestformat=' . $rest_format : '';
  $curl = new curl;
  //if rest format == 'xml', then we do not add the param for backward compatibility with Moodle < 2.2
  $rep = $curl->post($Serve_Url.$Rest_format, $par);
  dpm($rep);
}
{
$fname='核心团队成员\添加团队成员';
///Paramètres
$member=新的stdClass();
$member->cohorttype['type']='id';
$member->cohorttype['value']='3';
$member->usertype['type']='id';
$member->usertype['value']='5';
$members=数组($member);
$par=数组('members'=>$members);
$rest_格式='json';
$SERVER\u Url='2http://dev-lms.teletaleem.net“./webservice/rest/server.php”。?wstoken=”。“7882bb500bcefcd8778de64b8e79a19a”。&wsfunction=”。$fname;
需要一次(“curl.inc”);
$Rest\u格式=($Rest\u格式=='json')?'&moodlewsrestformat='。$Rest\u格式:“”;
$curl=新的curl;
//如果rest format='xml',那么我们不添加参数以向后兼容Moodle<2.2
$rep=$curl->post($Serve\u Url.$Rest\u format,$par);
dpm($rep);
}