Каков наиболее эффективный способ массового обновления многих записей с использованием Typo3 extbase? - PullRequest
0 голосов
/ 16 октября 2019

В 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...
};

Заранее большое спасибо за любые предложения, которые есть у кого-либо.

...