本文整理汇总了PHP中MatchaModel::__getFieldType方法的典型用法代码示例。如果您正苦于以下问题:PHP MatchaModel::__getFieldType方法的具体用法?PHP MatchaModel::__getFieldType怎么用?PHP MatchaModel::__getFieldType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MatchaModel
的用法示例。
在下文中一共展示了MatchaModel::__getFieldType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: parseValues
/**
* function parseValues($data):
* Parse the data and if some values met the type correct them.
*
* @param $data
*
* @return array
*/
private function parseValues($data)
{
$record = array();
$columns = array_keys($data);
$values = array_values($data);
foreach ($columns as $index => $column) {
if (!in_array($column, $this->fields)) {
unset($columns[$index], $values[$index]);
}
}
foreach ($columns as $col) {
$properties = (array) MatchaModel::__getFieldProperties($col, $this->model);
/**
* Don't parse the value (skip it) if...
* $properties['store'] is set and is not true OR
* $properties['persist'] is set and is not true OR
*/
if ((!isset($properties['store']) || $properties['store']) && (!isset($properties['persist']) || $properties['persist'])) {
$type = MatchaModel::__getFieldType($col, $this->model);
if ($this->encryptedFields !== false && in_array($col, $this->encryptedFields)) {
$data[$col] = $this->dataEncrypt($data[$col]);
} else {
if ($type == 'date') {
$data[$col] = $data[$col] == '' ? null : $data[$col];
} elseif ($type == 'array') {
$data[$col] = $data[$col] == '' ? null : serialize($data[$col]);
}
}
/**
* do not trim bool values
*/
if ($this->autoTrim && $type != 'bool') {
$record[$col] = trim($data[$col]);
} else {
$record[$col] = $data[$col];
}
}
}
return $record;
}