ParagonIE\EasyDB\EasyStatement::sql PHP Метод

sql() публичный Метод

Compile the current statement into PDO-ready SQL.
public sql ( ) : string
Результат string
    public function sql() : string
    {
        return \array_reduce($this->parts, function (string $sql, array $part) : string {
            if ($this->isGroup($part['condition'])) {
                // (...)
                $statement = '(' . $part['condition']->sql() . ')';
            } else {
                // foo = ?
                $statement = $part['condition'];
            }
            if ($sql) {
                switch ($part['type']) {
                    case 'AND':
                    case 'OR':
                        $statement = $part['type'] . ' ' . $statement;
                        break;
                    default:
                        throw new RuntimeException(\sprintf('Invalid joiner %s', $part['type']));
                }
            }
            return \trim($sql . ' ' . $statement);
        }, '');
    }

Usage Example

Пример #1
0
 private function assertSql(EasyStatement $statement, $expected)
 {
     $this->assertSame($expected, $statement->sql());
     $this->assertSame($expected, (string) $statement);
 }