/** * * * @param string $matchId * @param array $data * @return boolean */ public function serialize(Model $Model, $data) { if (empty($data[$Model->alias])) { return $data; } $fields = $this->settings[$Model->alias]['field']; $engine = $this->settings[$Model->alias]['engine']; if (!empty($data[$Model->alias][0]) && array_intersect_key($fields, array_keys($data[$Model->alias][0]))) { foreach ($data[$Model->alias] as $key => $model) { $model = $Model->serialize(array($Model->alias => $model)); $data[$Model->alias][$key] = $model[$Model->alias]; } } else { foreach ($fields as $field) { if (isset($data[$Model->alias][$field]) && is_array($data[$Model->alias][$field])) { if ($engine == 'json') { $data[$Model->alias][$field] = @json_encode($data[$Model->alias][$field]); } else { $data[$Model->alias][$field] = @serialize($data[$Model->alias][$field]); } } } } return $data; }