PhpBench\Extensions\Dbal\Storage\Driver\Dbal\Repository::getParameters PHP Method

getParameters() public method

public getParameters ( $variantId )
    public function getParameters($variantId)
    {
        $sql = <<<'EOT'
SELECT 
    pkey,
    value
    FROM parameter
    LEFT JOIN variant_parameter ON variant_parameter.parameter_id = parameter.id
    WHERE variant_parameter.variant_id = ?
EOT;
        $conn = $this->manager->getConnection();
        $stmt = $conn->prepare($sql);
        $stmt->execute([$variantId]);
        $parameters = [];
        foreach ($stmt->fetchAll(\PDO::FETCH_ASSOC) as $data) {
            $parameters[$data['pkey']] = json_decode($data['value']);
        }
        return $parameters;
    }

Usage Example

Example #1
0
 private function getVariant(\ArrayObject $context, Subject $subject, $row)
 {
     $key = $row['variant.id'];
     if (isset($context[self::VARIANTS][$key])) {
         return $context[self::VARIANTS][$key];
     }
     $variant = $subject->createVariant(new ParameterSet(0, $this->repository->getParameters($row['variant.id'])), $row['variant.revolutions'], $row['variant.warmup']);
     $context[self::VARIANTS][$key] = $variant;
     return $variant;
 }