我希望得到所有同类群组,如果我有ID,我可以获取信息,但我想要所有队列名称和ID。如果有办法,请告诉我。提前致谢
$functionname = 'core_cohort_get_cohorts';
$cohortIDS = array( '1' );
$data_string = http_build_query(array('cohortids' => $cohortIDS));
$utoken = 'mytoken';
$adduser = 'yoururl/webservice/rest/server.php? wstoken='.$utoken.'&wsfunction='.$functionname.'&moodlewsrestformat=json';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$adduser);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$server_output = curl_exec ($ch);
curl_close ($ch);
echo '<pre>';
print_r(json_decode($server_output));
echo '</pre>';
答案 0 :(得分:2)
您可以向core_cohort添加更多方法以获取所有同类群组,如下所示: 在cohort / externallib.php中,添加更多方法:
public static function get_all_cohorts(){
global $DB;
$cohortids = $DB->get_records('cohort', null, null, 'id');
$arrids = array();
foreach($cohortids as $id){
$arrids[] = $id->id;
}
return (new core_cohort_external())->get_cohorts($arrids);
}
此外,您必须注册此名为“core_cohort_get_all_cohorts”的Web服务,才能从外部调用此Web服务。如果您还有其他问题,请告诉我。