У меня проблема, как сделать запрос для объединения записей из 3 таблиц и вывода результатов на экран. Я принял решение, но не для скорости, и я искал лучшее решение. Мои таблицы:
тестовая таблица
id_test
testName
таблица вопросов
id_quest
id_test
question
таблица ответов
id_answer
id_quest
answer
В каждом тесте есть 7 вопросов, и на каждый вопрос есть 10 ответов.
Как написать запрос к базе данных без foreach, чтобы отобразить эти записи на экране?
Я сделал такое решение:
$this->db->select('id_test,testName,description,time,type,sum');
$this->db->where('id_test',$idTest);
$query['test'] = $this->db->get('tests')->result()[0];
$this->db->select('id_quest,inquiry');
$this->db->where('id_test',$idTest);
$query['questions'] = $this->db->get('questions')->result();
$i=0;
foreach ($query['questions'] as $question) {
$this->db->select('id_answer,response,value');
$this->db->where('id_quest',$question->id_quest);
$query['questions'][$i]->answer = $this->db->get('answer')->result();
$i++;
}
return $query;