public static function save(\Rebond\Core\ModelInterface $model) { $db = new Util\Data(); if ($model->getId() === 0) { $query = 'INSERT INTO cms_component (module_id, `title`, `summary`, `method`, `type`, `status`, `created_date`, `modified_date`) VALUES (?,?,?,?,?,?,?,?)'; $params = [$model->getModuleId(), $model->getTitle(), $model->getSummary(), $model->getMethod(), $model->getType(), $model->getStatus(), $model->getCreatedDate('sqlDatetime'), Util\Format::date(time(), 'sqlDatetime')]; $id = $db->execute($query, $params); $model->setId($id); return $id; } else { $query = 'UPDATE cms_component SET '; $params = []; if ($model->getModuleId() !== null) { $query .= 'module_id = ?, '; $params[] = $model->getModuleId(); } if ($model->getTitle() !== null) { $query .= '`title` = ?, '; $params[] = $model->getTitle(); } if ($model->getSummary() !== null) { $query .= '`summary` = ?, '; $params[] = $model->getSummary(); } if ($model->getMethod() !== null) { $query .= '`method` = ?, '; $params[] = $model->getMethod(); } if ($model->getType() !== null) { $query .= '`type` = ?, '; $params[] = $model->getType(); } 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); } }