public static function save(\Rebond\Core\ModelInterface $model) { $db = new Util\Data(); if ($model->getId() === 0) { $query = 'INSERT INTO core_log (`code`, user_id, `ip`, `request_uri`, `referer`, `message`, `trace`, `file`, `line`, `status`, `created_date`, `modified_date`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)'; $params = [$model->getCode(), $model->getUserId(), $model->getIp(), $model->getRequestUri(), $model->getReferer(), $model->getMessage(), $model->getTrace(), $model->getFile(), $model->getLine(), $model->getStatus(), $model->getCreatedDate('sqlDatetime'), Util\Format::date(time(), 'sqlDatetime')]; $id = $db->execute($query, $params); $model->setId($id); return $id; } else { $query = 'UPDATE core_log SET '; $params = []; if ($model->getCode() !== null) { $query .= '`code` = ?, '; $params[] = $model->getCode(); } if ($model->getUserId() !== null) { $query .= 'user_id = ?, '; $params[] = $model->getUserId(); } if ($model->getIp() !== null) { $query .= '`ip` = ?, '; $params[] = $model->getIp(); } if ($model->getRequestUri() !== null) { $query .= '`request_uri` = ?, '; $params[] = $model->getRequestUri(); } if ($model->getReferer() !== null) { $query .= '`referer` = ?, '; $params[] = $model->getReferer(); } if ($model->getMessage() !== null) { $query .= '`message` = ?, '; $params[] = $model->getMessage(); } if ($model->getTrace() !== null) { $query .= '`trace` = ?, '; $params[] = $model->getTrace(); } if ($model->getFile() !== null) { $query .= '`file` = ?, '; $params[] = $model->getFile(); } if ($model->getLine() !== null) { $query .= '`line` = ?, '; $params[] = $model->getLine(); } if ($model->getStatus() !== null) { $query .= '`status` = ?, '; $params[] = $model->getStatus(); } $query .= '`modified_date` = ?, '; $params[] = Util\Format::date(time(), 'sqlDatetime'); $query = rtrim(trim($query), ','); $query .= ' WHERE id = ?'; $params[] = $model->getId(); return $db->execute($query, $params); } }