UNPKG

very-simple-orm

Version:

This is simple orm for typesript/javascript projects

51 lines (37 loc) 1.8 kB
import { FIELD_NAME_VALUE, FIELD_NAME_VALUE_OPERATOR, SQL_VALUES, SQL_VALUES_MANY} from "../../Iinterfaces/index" import Sql from "./SQL"; export default class Update extends Sql{ public updateById(_field:FIELD_NAME_VALUE, _updateFields:FIELD_NAME_VALUE[]):SQL_VALUES{ let __sql:string=""; let __fieldStr:string=""; let __values:any[]=[]; _updateFields.map(el=>{ __fieldStr = `${__fieldStr} ${el.fieldName} = ?, ` __values.push(el.value); }) __fieldStr = __fieldStr.trim(); __fieldStr = __fieldStr.substring(0, __fieldStr.length -1) __values.push(_field.value); __sql = `UPDATE ${this._tableName} SET ${__fieldStr} WHERE ${this._tableName}.${_field.fieldName} = ?`; return{ "sql" : __sql, "values" : __values}; } public update(_updateFields:FIELD_NAME_VALUE[], _clauseFileds:FIELD_NAME_VALUE_OPERATOR[] ):SQL_VALUES{ let __sql:string=""; let __fieldStr:string=""; let __values:any[][]=[]; _updateFields.map(el=>{ __fieldStr = `${__fieldStr} ${el.fieldName} = ?, ` __values.push(el.value); }) __fieldStr = __fieldStr.trim(); __fieldStr = __fieldStr.substring(0, __fieldStr.length -1); let updatevalues = this.clauseMaker(_clauseFileds) __sql = `UPDATE ${this._tableName} SET ${__fieldStr} WHERE ${updatevalues.sql}`; // __sql = `UPDATE ${this._tableName} SET ${__fieldStr} WHERE ${this._tableName}.${updatevalues.sql}`; updatevalues.values.forEach(el=>{ __values.push(el) }) let ret:SQL_VALUES_MANY= {"sql" : __sql , "values": __values}; return ret; } }