@@ -1106,23 +1106,31 @@ export class DelegateProxyHandler extends DefaultPrismaProxyHandler {
11061106
11071107 const modelInfo = getModelInfo ( this . options . modelMeta , model , true ) ;
11081108
1109- for ( const field of Object . values ( modelInfo . fields ) ) {
1109+ for ( const [ key , value ] of Object . entries ( entity ) ) {
1110+ if ( key . startsWith ( DELEGATE_AUX_RELATION_PREFIX ) ) {
1111+ continue ;
1112+ }
1113+
1114+ const field = modelInfo . fields [ key ] ;
1115+ if ( ! field ) {
1116+ // not a field, could be `_count`, `_sum`, etc.
1117+ result [ key ] = value ;
1118+ continue ;
1119+ }
1120+
11101121 if ( field . inheritedFrom ) {
11111122 // already merged from base
11121123 continue ;
11131124 }
11141125
1115- if ( field . name in entity ) {
1116- const fieldValue = entity [ field . name ] ;
1117- if ( field . isDataModel ) {
1118- if ( Array . isArray ( fieldValue ) ) {
1119- result [ field . name ] = fieldValue . map ( ( item ) => this . assembleUp ( field . type , item ) ) ;
1120- } else {
1121- result [ field . name ] = this . assembleUp ( field . type , fieldValue ) ;
1122- }
1126+ if ( field . isDataModel ) {
1127+ if ( Array . isArray ( value ) ) {
1128+ result [ field . name ] = value . map ( ( item ) => this . assembleUp ( field . type , item ) ) ;
11231129 } else {
1124- result [ field . name ] = fieldValue ;
1130+ result [ field . name ] = this . assembleUp ( field . type , value ) ;
11251131 }
1132+ } else {
1133+ result [ field . name ] = value ;
11261134 }
11271135 }
11281136
@@ -1147,18 +1155,26 @@ export class DelegateProxyHandler extends DefaultPrismaProxyHandler {
11471155 }
11481156 }
11491157
1150- for ( const field of Object . values ( modelInfo . fields ) ) {
1151- if ( field . name in entity ) {
1152- const fieldValue = entity [ field . name ] ;
1153- if ( field . isDataModel ) {
1154- if ( Array . isArray ( fieldValue ) ) {
1155- result [ field . name ] = fieldValue . map ( ( item ) => this . assembleDown ( field . type , item ) ) ;
1156- } else {
1157- result [ field . name ] = this . assembleDown ( field . type , fieldValue ) ;
1158- }
1158+ for ( const [ key , value ] of Object . entries ( entity ) ) {
1159+ if ( key . startsWith ( DELEGATE_AUX_RELATION_PREFIX ) ) {
1160+ continue ;
1161+ }
1162+
1163+ const field = modelInfo . fields [ key ] ;
1164+ if ( ! field ) {
1165+ // not a field, could be `_count`, `_sum`, etc.
1166+ result [ key ] = value ;
1167+ continue ;
1168+ }
1169+
1170+ if ( field . isDataModel ) {
1171+ if ( Array . isArray ( value ) ) {
1172+ result [ field . name ] = value . map ( ( item ) => this . assembleDown ( field . type , item ) ) ;
11591173 } else {
1160- result [ field . name ] = fieldValue ;
1174+ result [ field . name ] = this . assembleDown ( field . type , value ) ;
11611175 }
1176+ } else {
1177+ result [ field . name ] = value ;
11621178 }
11631179 }
11641180
0 commit comments