我想从moodle数据库中选择id等于某个变量的所有记录,有人能告诉我moodle的数据操作API语法是什么吗。
这里是mysql查询

Select question from mdl_answers where id=$questionid;

我试过了
$queid[]= $queid[] = $DB->get_field('question_answers', 'id', array('question' => $questionid), MUST_EXIST);
$true=$queid[0];   // this i get
$false=$queid[1];   //this remains empty

但它只给出一个记录,而我有多个记录与此id关联。
正如您在图片记录71和72中看到的,在下一列中有相同的值48,我想得到这些id 71和72
mysql - 使用moodle数据操作API从表中获取特定字段-LMLPHP

最佳答案

get_field()只返回一个值。
使用get_records()-https://docs.moodle.org/dev/Data_manipulation_API#Getting_an_hashed_array_of_records

$answers = $DB->get_records('question_answers', array('question' => $questionid));
foreach ($answers as $answer) {
    switch ($answer->answer) {
        case 'True':
            $true = $answer->id;
            break;
        case 'False':
            $false = $answer->id;
            break;
      }
}

或者像这样使用
$true = $DB->get_field('question_answers', 'id', array('question' => $questionid, 'answer' => 'True'));
$false = $DB->get_field('question_answers', 'id', array('question' => $questionid, 'answer' => 'False'));

关于mysql - 使用moodle数据操作API从表中获取特定字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37762046/

10-12 16:26