function insert($table, $alias, &$data, $keyName = null) { $fmtsql = "INSERT INTO {$table} ( %s ) VALUES ( %s ) "; $alias = inflector::camelize($alias); $fields = array(); foreach ($data[$alias] as $k => $v) { if (is_array($v) or is_object($v) or $v === NULL or $k[0] == '_') { continue; } $fields[] = "`{$k}`"; $values[] = $this->Quote($v); } if (!isset($fields)) { die('class database method insertObject - no fields'); } $this->_db->setQuery(sprintf($fmtsql, implode(",", $fields), implode(",", $values))); $insert = $this->_db->query(); $message[] = '*********' . get_class($this) . ' | Insert'; $message[] = $this->_db->getQuery(); $message[] = $this->_db->getErrorMsg(); appLogMessage($message, 'database'); if (!$insert) { return false; } $id = $this->_db->insertid(); if ($keyName && $id) { $data[$alias][$keyName] = $id; } $data['insertid'] = $id; // Clear session cache if (Configure::read('Cache.session')) { cmsFramework::clearSessionVar($this->name, 'findCount'); } return true; }