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