我想从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相关联。
答案 0 :(得分:1)
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;
}
}
或者像这样使用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'));