本文整理匯總了PHP中Phalcon\Mvc\Model::_preSave方法的典型用法代碼示例。如果您正苦於以下問題:PHP Model::_preSave方法的具體用法?PHP Model::_preSave怎麽用?PHP Model::_preSave使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Phalcon\Mvc\Model
的用法示例。
在下文中一共展示了Model::_preSave方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: _preSave
/**
* Fix field value for tinyint(1) types, from integer to string
* Executes internal hooks before save a record
*
* @param \Phalcon\Mvc\Model\MetadataInterface $metaData
* @param boolean $exists
* @param string $identityField
* @return boolean
*/
protected function _preSave($metaData, $exists, $identityField)
{
$dataTypes = $metaData->getDataTypes($this);
foreach ($dataTypes as $key => $type) {
if ($type === \Phalcon\Db\Column::TYPE_BOOLEAN) {
$value = $this->{$key};
if ((int) $value === $value) {
$this->{$key} = (string) $value;
}
}
}
return parent::_preSave($metaData, $exists, $identityField);
}
示例2: _preSave
protected function _preSave(PhalconModel\MetaDataInterface $metaData, $exists, $identityField)
{
// Phalcon prepareSave() Polyfill
// @codeCoverageIgnoreStart
if ($_SERVER['PHWOOLCON_PHALCON_VERSION'] < '2001100') {
$this->prepareSave();
}
// @codeCoverageIgnoreEnd
// Fix phalcon bug: attributeField . " is required" on empty values, it should detect null values instead
$emptyFields = [];
foreach ($this->defaultValues() as $k => $v) {
if (!$v) {
$emptyFields[$k] = $this->{$k};
$this->{$k} = 1;
}
}
$result = parent::_preSave($metaData, $exists, $identityField);
foreach ($emptyFields as $k => $v) {
$this->{$k} = $v;
}
return $result;
}