1
我試着在多列表上使用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實例。
$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();
根據對JTable.delete($ PK)
$ PK是的Joomla 3.6實況: 「來刪除一個可選的主鍵值,如果沒有設置該實例的屬性值被使用。」
因此,如果我省略$ pk,應刪除當前加載的實例。但是,我收到了「空主鍵不允許」。來自我上面的代碼的例外。
如何使用多列鍵刪除記錄? PS:我知道我可以直接使用SQL語句,但我的表類設置爲跟蹤/日誌記錄,我想堅持使用它們。