我想實現象下面這樣笨的ORM所示的SQL代碼(它的工作原理)同樣的事情:如何在Codeigniter中使用ORM從兩個表連接起來進行選擇?
SELECT question.`id`,`title`,`question`,`answer` FROM answer LEFT JOIN question ON answer.question_id = question.id WHERE question.`id` = 1
我做了如下代碼:
$this->db->select('question.id, question.title, question.question, answer.answer')->from('answer')->join('question', 'answer.question_id = question_id')->where('question.id',1);
$query = $this->db->get();
這是行不通的,而不是中選擇question.id = 1
,它讓所有的答案,這似乎是在where子句中完全不
我提供以下
的表結構0CREATE TABLE `question` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(128) NOT NULL DEFAULT '',
`question` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=latin1;
CREATE TABLE `answer` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`question_id` int(11) unsigned NOT NULL,
`answer` text NOT NULL,
PRIMARY KEY (`id`),
KEY `question_id` (`question_id`),
CONSTRAINT `answer_ibfk_1` FOREIGN KEY (`question_id`) REFERENCES `question` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=latin1;
是否使用的是ORM? –
@raheelshan我正在使用Codeigniter構建在活動記錄 – mko
@raheelshan我自己發現了這個問題,我使用數組錯誤 – mko