protected function _multiKeysInjector($resultMap, $sourceKeys, $nestKey)
    {
        return function ($row) use ($resultMap, $sourceKeys, $nestKey) {
            $values = [];
            foreach ($sourceKeys as $key) {
                $values[] = $row[$key];
            }

            $key = implode(';', $values);
            if (isset($resultMap[$key])) {
                $row[$nestKey] = $resultMap[$key];
            }

            return $row;
        };
    }
protected function _multiKeysInjector($resultMap, $sourceKeys, $nestKey)
    {
        return function ($row) use ($resultMap, $sourceKeys, $nestKey) {
            $values = [];
            foreach ($sourceKeys as $key) {
                $values[] = $row[$key];
            }

            $key = implode(';', $values);
            if (isset($resultMap[$key])) {
                $row[$nestKey] = $resultMap[$key];
            }

            return $row;
        };
    }
protected function _multiKeysInjector ( $ resultMap , $ sourceKeys , $ nestKey ) { return function ( $ row ) use ( $ resultMap , $ sourceKeys , $ nestKey ) { $ values = [ ] ; foreach ( $ sourceKeys as $ key ) { $ values [ ] = $ row [ $ key ] ; } $ key = implode ( ';' , $ values ) ; if ( isset ( $ resultMap [ $ key ] ) ) { $ row [ $ nestKey ] = $ resultMap [ $ key ] ; } return $ row ; } ; }
Returns a callable to be used for each row in a query result set
for injecting the eager loaded rows when the matching needs to
be done with multiple foreign keys

@param array $resultMap A keyed arrays containing the target table
@param array $sourceKeys An array with aliased keys to match
@param string $nestKey The key under which results should be nested
@return \Closure
Returns a callable to be used for each row in a query result set for injecting the eager loaded rows when the matching needs to be done with multiple foreign keys