コード例 #1
0
ファイル: InsertQuery.php プロジェクト: justthefish/hesper
 protected function toDialectStringValues($query, Dialect $dialect)
 {
     $fields = [];
     $values = [];
     foreach ($this->fields as $var => $val) {
         $fields[] = $dialect->quoteField($var);
         if ($val === null) {
             $values[] = $dialect->literalToString(Dialect::LITERAL_NULL);
         } elseif (true === $val) {
             $values[] = $dialect->literalToString(Dialect::LITERAL_TRUE);
         } elseif (false === $val) {
             $values[] = $dialect->literalToString(Dialect::LITERAL_FALSE);
         } elseif ($val instanceof DialectString) {
             $values[] = $val->toDialectString($dialect);
         } else {
             $values[] = $dialect->quoteValue($val);
         }
     }
     if (!$fields || !$values) {
         throw new WrongStateException('what should i insert?');
     }
     $fields = implode(', ', $fields);
     $values = implode(', ', $values);
     return $query . "({$fields}) VALUES ({$values})";
 }
コード例 #2
0
ファイル: LiteDialect.php プロジェクト: justthefish/hesper
 public function literalToString($literal)
 {
     switch ($literal) {
         case self::LITERAL_FALSE:
             return $this->quoteValue('0');
         case self::LITERAL_TRUE:
             return $this->quoteValue('1');
     }
     return parent::literalToString($literal);
 }