2012-10-06 1 views
0

저는 CodeIgniter와 ORM을 처음 사용합니다. 여러분이 이걸 도와 줄 수 있기를 바랍니다. CodeIgniter에서 Activerecord를 사용하여 다른 테이블에 테이블을 삽입하는 방법은 무엇입니까?

질문 테이블 :

CREATE TABLE `question` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 
    `title` varchar(128) NOT NULL DEFAULT '', 
    `content` text NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

대답 테이블 :

CREATE TABLE `answer` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 
    `question_id` int(11) unsigned NOT NULL, 
    `content` 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 DEFAULT CHARSET=latin1; 

동등한 SQL은 다음과 같습니다

INSERT INTO answer(content, question_id) 
VALUES('Ironman', (select id 
        from question 
        where title ='favourite characters' 
         and content = 'Who is your favourite characters in Avanger?')); 

사람은 어떻게 같은 일을 달성 할 수 있지만, 사용 말해 줄 수 CodeIgniter Activerecord?

답변

0

대신 기본 키 (id)를 사용하여 기본 테이블에 직접 삽입하십시오.

+0

나는 그것을하는 방법을 보여줄 수있는 동일한 문제가있다. 내 질문에 대해서는 http://stackoverflow.com/questions/13133730/convert-a-multiple-table-query-into-active-record-codeigniter를 참조하십시오. – asifa