@@ -808,7 +808,9 @@ export async function generateModelString(
808
808
protected updateFromQuery: any
809
809
protected deleteFromQuery: any
810
810
protected hasSelect: boolean
811
+ private hasSaved: boolean
811
812
private customColumns: Record<string, unknown> = {}
813
+
812
814
constructor(${ formattedModelName } : Partial<${ modelName } Type> | null) {
813
815
if (${ formattedModelName } ) {
814
816
@@ -827,6 +829,7 @@ export async function generateModelString(
827
829
this.updateFromQuery = DB.instance.updateTable('${ tableName } ')
828
830
this.deleteFromQuery = DB.instance.deleteFrom('${ tableName } ')
829
831
this.hasSelect = false
832
+ this.hasSaved = false
830
833
}
831
834
832
835
${ getFields }
@@ -843,7 +846,7 @@ export async function generateModelString(
843
846
getChanges(): Partial<${ modelName } JsonResponse> {
844
847
return this.fillable.reduce<Partial<${ modelName } JsonResponse>>((changes, key) => {
845
848
const currentValue = this.attributes[key as keyof ${ formattedTableName } Table]
846
- const originalValue = this.originalAttributes[key as keyof ${ formattedTableName } Table]
849
+ const originalValue = this.originalAttributes[key as keyof ${ formattedTableName } Table]
847
850
848
851
if (currentValue !== originalValue) {
849
852
changes[key] = currentValue
@@ -864,6 +867,10 @@ export async function generateModelString(
864
867
return currentValue !== originalValue
865
868
})
866
869
}
870
+
871
+ wasChanged(column?: keyof ${ modelName } Type): boolean {
872
+ return this.hasSaved && this.isDirty(column)
873
+ }
867
874
868
875
select(params: (keyof ${ modelName } Type)[] | RawBuilder<string> | string): ${ modelName } Model {
869
876
return ${ modelName } Model.select(params)
0 commit comments