Some collection fields are not shown when using c3Grid


#1

I have a field ‘gpcsRuns’ in a type ‘GPCSClaim’ which is defined as below:

gpcsRuns: GPCSRunClaimMapping

When I run c3Grid(GPCSClaim.fetch()), it doesnt show me ‘gpcsRuns’ field by default. I need to use include statement to see it - c3Grid(GPCSClaim.fetch({include:“gpcsRuns”}))

I have a similar field in another type and that shows up automatically without having to use include statement.

Can someone explain why this is happening and when a field is shown by default vs when we need to use include.


#2

@trothwein @JohnCoker apologies for necroposting - we may be running in an issue with these “default includes” during 7.7 -> 7.8 upgrade. Before we create any tickets, wanted to ask… Is this logic (including vs not including certain fields by default) documented anywhere? Thanks!


#3

@venkata.paruchuri, @yaroslav. The rules (ignoring default includes specified via annotation) have always been a reference/collection field will be brought back with the “this” (or null) include:

  1. Included references (e.g. references to types that aren’t entity types) will be included in their entirety.
  2. Non-fkey references will have their id brought back only.
  3. Fkey references will only be brought back if explicitly included.

If you are seeing something other than that, please file a ticket and a repro case (e.g. branch with types defined and instructions on what to provision and how to reproduce).