我正在将 Moodle 1.0 模块移植到 2.0 版。在检查几个 PHP 文件中的错误时,我遇到了一条查询错误消息,但没有表明错误是什么。这是查询:
global $DB; //required global variable
$vms = $DB->get_records_sql('SELECT DISTINCT vm.*, uva.assignment_id, gm.groupid,
CASE WHEN gm.groupid IS NULL THEN uva.user_id ELSE NULL END user_id
FROM {mdl_vMoodle_Virtual_Machine} vm
INNER JOIN {mdl_vMoodle_UVA} uva ON vm.id = uva.vm_id
LEFT JOIN {mdl_groups_members} gm ON gm.userid = uva.user_id
WHERE uva.assignment_id = :assignmentid', array('assignmentid'=>$assignment_id));
谁能告诉我这个函数调用有什么问题?
更新:删除 DISTINCT 使错误消失。Moodle 2.0 的文档很少,所以我不确定它是否根本不接受 distinct 关键字。