В Typo3 extbase, какой самый эффективный способ обновить , может быть, 300 записей, не вызывая 300 отдельных случаев открытого соединения -> сделать обновление -> закрыть соединение?
БазовыйСтраница руководства по CRUD, Документы »Обзор API» База данных (doctrine-dbal) »Базовый CRUD (https://docs.typo3.org/m/typo3/reference-coreapi/master/en-us/ApiOverview/Database/BasicCrud/Index.html#update-multiple-rows) предлагает обновить несколько строк, используя
GeneralUtility::makeInstance(ConnectionPool::class)->getConnectionForTable('tt_content')
->update(
'tt_content',
[ 'bodytext' => 'bernd' ], // set
[ 'bodytext' => 'klaus' ] // where
);
Но этот код подразумевает только обновлениеодна строка. Как мне сделать что-то подобное ниже ...?
GeneralUtility::makeInstance(ConnectionPool::class)
->getConnectionForTable('tt_content')
->update(
'table_name',
[ 'field' => 'newValue', 'uid'=>'1' ], // set field:value, where field:value
[ 'field' => 'newValue', 'uid'=>'7' ], // set field:value, where field:value
[ 'field' => 'newValue', 'uid'=>'5' ], // set field:value, where field:value
[ 'field' => 'newValue', 'uid'=>'9' ], // set field:value, where field:value
etc.
);
вместо
foreach($arrUpdate $key => $row) {
...get a new db connection and do a single update...
};
Заранее большое спасибо за любые предложения, которые есть у кого-либо.