getConditionBuilder()->add('isTemporary = ?', [ 1 ]); $roomList->readObjects(); $toDelete = [ ]; WCF::getDB()->beginTransaction(); foreach ($roomList as $room) { if (\count($room->getUsers()) === 0) { $toDelete[] = $room; } } if ($toDelete !== []) { (new RoomAction( $toDelete, 'delete' ))->executeAction(); } WCF::getDB()->commitTransaction(); } }