【发布时间】:2019-07-16 13:06:17
【问题描述】:
我正在尝试为 QueryBuilder 使用 WHERE INstatement。
我想打电话
UPDATE tx_test SET hidden = 0 WHERE uid IN (1,2,3,4)
我的代码:
public function makeItemsVisible($itemsToShow)
{
$itemUids = implode(",", $itemsToShow);
$table = 'tx_test';
$queryBuilder = GeneralUtility::makeInstance(ConnectionPool::class)
->getQueryBuilderForTable($table);
$queryBuilder
->update($table)
->set('hidden', "0")
->where('uid IN (:uids)')
->setParameter('uids', $itemUids )
->execute();
}
$itemUids 1,2,3,4 是正确的,但该语句仅更新数据库中的第一条记录。我错过了什么吗?
【问题讨论】: