다중 열 테이블에서 JTable delete()를 사용하여 레코드를 삭제하려고합니다. 나는 단 하나의 기본 키가 없기 때문에JTable 다중 열 키가있는 행 삭제
CREATE TABLE IF NOT EXISTS `#__bb_league_members` (
`user_id` int(10) unsigned NOT NULL ,
`league_id` int(10) unsigned NOT NULL ,
`status` TINYINT NULL DEFAULT 0,
....
PRIMARY KEY (`league_id`,`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
, 나는 .delete ($의 PK)를 사용할 수 없습니다하지만 난 JTable의 인스턴스로 기록을로드 할 수 있습니다 표는 연결된 테이블이 정의된다. JTable.delete ($의 PK)
$의 PK가에 줌라 3.6 다큐에 따라
$data = [];
$data['user_id'] = $uid;
$data['league_id'] = $lid;
$tbl = $this->getTable('LeagueMember');
$tbl->load($data); //a var dump here shows the record is loaded!!
return $tbl->delete();
". 삭제할 수있는 옵션 기본 키 값 인스턴스 속성 값을 설정하지 않으면이 사용됩니다."
그래서 $ pk를 생략하면 현재로드 된 인스턴스를 삭제해야합니다. 그러나 "Null 기본 키가 허용되지 않습니다." 위의 코드에서 예외.
다중 열 키가있는 레코드를 삭제하려면 어떻게합니까?
추신 : 나는 SQL 문을 직접 사용할 수 있지만 내 테이블 클래스는 추적/기록 작업을 수행하도록 설정되어 있으므로 사용법을 고수하고 싶습니다.