使用 moodle 数据操作 API 从 table 获取特定字段

Get specific field from a table with moodle Data manipulation API

我想 select 来自 moodle 数据库的所有记录,其中 id 等于某个 variable.Can 谁能告诉我它的 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

get_field() 只会 return 一个值。

要么使用 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;
      }
}

或者像这样使用get_field()

$true = $DB->get_field('question_answers', 'id', array('question' => $questionid, 'answer' => 'True'));
$false = $DB->get_field('question_answers', 'id', array('question' => $questionid, 'answer' => 'False'));