1
找到多個記錄
比方說,我有一個數組,如下所示(ID =>類型):MySQL的兩列
$contentIndexes = [
32 => 'news',
40 => 'blog',
68 => 'blog',
109 => 'document',
124 => 'news'
]
而下面的數據庫表:
CREATE TABLE `ContentIndex` (
`ID` INT(11) NOT NULL AUTO_INCREMENT,
`ItemID` INT(11) NOT NULL,
`ItemType` VARCHAR(50) NOT NULL COLLATE 'utf8_unicode_ci',
//...
);
我怎麼會檢索每ContentIndex
基於'ItemID'和'ItemType'列的組合(最好只有一個查詢)。
使用WHERE IN
是不是一種選擇,因爲它不會採取組合考慮:
ContentIndexQuery::create()
->filterByItemID(array_keys($contentIndexes))
->filterByItemType($contentIndexes)
->find();
任何想法?