/** * @param \Propel\Generator\Model\Column $col * * @return string */ protected function addFilterByColLike(Column $col) { $script = ''; if ($col->isTextType()) { $colPhpName = $col->getPhpName(); $variableName = $col->getCamelCaseName(); $queryClassName = $this->getQueryClassName(); $script .= <<<SCRIPT /** * Applies SprykerCriteria::LIKE filtering criteria for the column. * * @param string \${$variableName} Filter value. * * @return \$this|{$queryClassName} The current query, for fluid interface */ public function filterBy{$colPhpName}_Like(\${$variableName}) { return \$this->filterBy{$colPhpName}(\${$variableName}, Criteria::LIKE); } SCRIPT; } return $script; }
/** * Returns the SQL for the default value of a Column object * @return string */ public function getColumnDefaultValueDDL(Column $col) { $default = ''; $defaultValue = $col->getDefaultValue(); if (null !== $defaultValue) { $default .= 'DEFAULT '; if ($defaultValue->isExpression()) { $default .= $defaultValue->getValue(); } else { if ($col->isTextType()) { $default .= $this->quote($defaultValue->getValue()); } elseif (in_array($col->getType(), array(PropelTypes::BOOLEAN, PropelTypes::BOOLEAN_EMU))) { $default .= $this->getBooleanString($defaultValue->getValue()); } elseif ($col->getType() == PropelTypes::ENUM) { $default .= array_search($defaultValue->getValue(), $col->getValueSet()); } elseif ($col->isPhpArrayType()) { $value = $this->getPhpArrayString($defaultValue->getValue()); if (null === $value) { $default = ''; } else { $default .= $value; } } else { $default .= $defaultValue->getValue(); } } } return $default; }
/** * Returns the SQL for the default value of a Column object * @return string */ public function getColumnDefaultValueDDL(Column $col) { $default = ''; $defaultValue = $col->getDefaultValue(); if (null !== $defaultValue) { $default .= 'DEFAULT '; if ($defaultValue->isExpression()) { $default .= $defaultValue->getValue(); } else { if ($col->isTextType()) { $default .= $this->quote($defaultValue->getValue()); } elseif (in_array($col->getType(), [PropelTypes::BOOLEAN, PropelTypes::BOOLEAN_EMU])) { $default .= $this->getBooleanString($defaultValue->getValue()); } elseif ($col->getType() == PropelTypes::ENUM) { $default .= array_search($defaultValue->getValue(), $col->getValueSet()); } elseif ($col->isSetType()) { $val = trim($defaultValue->getValue()); $values = []; foreach (explode(',', $val) as $v) { $values[] = trim($v); } $default .= SetColumnConverter::convertToInt($values, $col->getValueSet()); } elseif ($col->isPhpArrayType()) { $value = $this->getPhpArrayString($defaultValue->getValue()); if (null === $value) { $default = ''; } else { $default .= $value; } } else { $default .= $defaultValue->getValue(); } } } return $default; }
/** * @dataProvider provideMappingTextTypes */ public function testTextType($mappingType) { $domain = $this->getDomainMock(); $domain->expects($this->once())->method('setType')->with($this->equalTo($mappingType)); $domain->expects($this->any())->method('getType')->will($this->returnValue($mappingType)); $column = new Column(); $column->setDomain($domain); $column->setType($mappingType); $this->assertSame('string', $column->getPhpType()); $this->assertTrue($column->isPhpPrimitiveType()); $this->assertTrue($column->isTextType()); }