我有問題如何使查詢連接3個表中的記錄並在屏幕上顯示結果。我提出瞭解決方案,但對速度不利,我一直在尋求更好的解決方案。我的表是:如何顯示沒有foreach的三個表中的記錄
測試表
id_test
testName
問題表
id_quest
id_test
question
回答表
id_answer
id_quest
answer
每個測試有7個問題,每個問題有10個答案。
如何編寫數據庫查詢而不需要在屏幕上列出這些記錄?
我犯了這樣的解決方案:
$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;
要麼使用循環,要麼寫出循環中的每一行,以查詢返回的內容。 –
因此不可能以我已經寫過的另一種方式寫作? – Sasa
是的,你可以使用,但一個循環是強制性的。 – Phiter