@@ -1399,15 +1399,38 @@ component accessors="true" {
13991399 boolean force = false ,
14001400 boolean parallel = false
14011401 ) {
1402- var entity = this ;
1403- arrayEach ( arrayWrap ( arguments .name ), ( n ) = > {
1404- if ( force || ! isRelationshipLoaded ( n ) ) {
1405- var relationship = invoke ( entity , n );
1406- relationship .setRelationMethodName ( n );
1407- assignRelationship ( n , relationship .get () );
1402+ arguments .name = arrayWrap ( arguments .name );
1403+ if ( arguments .name .len () > 1 && arguments .parallel ) {
1404+ var threadNames = [];
1405+ for ( var n in arguments .name ) {
1406+ var threadName = " #n #_#replace ( createUUID (), " -" , " " , " all" ) #" ;
1407+ threadNames .append ( threadName );
1408+ cfthread (
1409+ action = " run" ,
1410+ name = " #threadName #" ,
1411+ relationshipName = " #n #" ,
1412+ entity = this
1413+ ) {
1414+ var relationship = invoke ( attributes .entity , attributes .relationshipName );
1415+ relationship .setRelationMethodName ( attributes .relationshipName );
1416+ assignRelationship ( attributes .relationshipName , relationship .get () );
1417+ }
1418+ }
1419+ cfthread (
1420+ action = " join" ,
1421+ name = " #threadNames .toList () #" ,
1422+ timeout = " #60 * 1000 #"
1423+ );
1424+ } else {
1425+ for ( var n in arguments .name ) {
1426+ if ( arguments .force || ! isRelationshipLoaded ( n ) ) {
1427+ var relationship = invoke ( this , n );
1428+ relationship .setRelationMethodName ( n );
1429+ assignRelationship ( n , relationship .get () );
1430+ }
14081431 }
1409- }, arguments . parallel );
1410- return entity ;
1432+ }
1433+ return this ;
14111434 }
14121435
14131436 /**
0 commit comments