0

나는 테이블이 2 개 있는데, m : m 관계가 있는데, 내가 원할 수있는 것은 테이블 중 하나에서 행을 삭제할 때 결합 테이블의 행을 원한다는 것입니다. 뿐만 아니라 삭제, 내 SQL은mysql codeigniter 활성 레코드 m : m 삭제

표 1

CREATE TABLE IF NOT EXISTS `job_feed` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `body` text NOT NULL, 
    `date_posted` int(10) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ; 

표, 다음과 같다 2

CREATE TABLE IF NOT EXISTS `job_feed_has_employer_details` (
    `job_feed_id` int(11) NOT NULL, 
    `employer_details_id` int(11) NOT NULL, 
    PRIMARY KEY (`job_feed_id`,`employer_details_id`), 
    KEY `fk_job_feed_has_employer_details_job_feed1` (`job_feed_id`), 
    KEY `fk_job_feed_has_employer_details_employer_details1` (`employer_details_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1; 

그래서 내가 뭘하고 싶은지, 만약 행이 table1에서 삭제되고 ID가 1 인 경우 테이블의 행에 그 아이디어도 관계의 일부로 포함되기를 원합니다. 나는 현재이이 codeigniters 액티브 레코드 클래스와 유지에서이 작업을 수행 할

,

public function deleteJobFeed($feed_id) 
    { 
     $this->db->where('id', $feed_id) 
       ->delete('job_feed'); 

     return $feed_id; 
    } 

답변

0

이런 식으로 뭔가를 시도 (내가 잘못 이름의 일부를 입수했습니다 수) :

public function deleteJobFeed($feed_id) 
{ 
    //Delete Job Feed 
    $this->db->where('id', $feed_id) 
     ->delete('job_feed'); 

    //Get Related Employer information ID from related table 
    $query = $this>db->where('job_feed_id', $feed_id) 
    ->get('job_feed_has_employer_details'); 
     if ($query->num_rows() > 0) 
     { 
      $row = $query->row(); 
      $employer_details_id = $row->employer_details_id; 
     } 
    //Now you have the employer details id. 
    //You can now delete the row you just got, and then use the id to find the row in the employer details table and delete that. 
    $this>db->where('job_feed_id', $feed_id) 
    ->delete('job_feed_has_employer_details'); 

    //I'm assuming your third table is called "employer details". You said you had a many to many relationship. 
    $this>db->where('employer_details_id', $employer_details_id) 
    ->delete('employer_details'); 

    return $feed_id; 
} 

또한 살펴 본 적이 없다면 추천합니다. http://www.overzealous.com/dmz/

이렇게하면 관계를 쉽게 처리 할 수 ​​있습니다. 희망이 도움이됩니다.

관련 문제