This is the type of the variable that is passed into the populate callback
at runtime on the SelectOperation struct. It automatically mirrors all
DORM fields that are defined on the passed-in T Model class.
Fields can be accessed with the same name they were defined in the Model
class. Embedded structs will only use the deepest variable name, e.g. a
nested field of name userCommon.username will only need to be accessed
using username. Duplicate / shadowing members is not implemented and will
be unable to use the builder on them.
On the column you currently just need to write .yes after the column to
actually include it. This is a limitation because otherwise it wouldn't be
possible to populate both reference columns directly or references of
references. e.g. populating both model.author and model.author.friends
can be done by doing model.author.yes and model.author.friends.yes
When mistyping names, an expressive error message is printed as compile
time output, showing all possible members for convenience.
This is the type of the variable that is passed into the populate callback at runtime on the SelectOperation struct. It automatically mirrors all DORM fields that are defined on the passed-in T Model class.
Fields can be accessed with the same name they were defined in the Model class. Embedded structs will only use the deepest variable name, e.g. a nested field of name userCommon.username will only need to be accessed using username. Duplicate / shadowing members is not implemented and will be unable to use the builder on them.
On the column you currently just need to write .yes after the column to actually include it. This is a limitation because otherwise it wouldn't be possible to populate both reference columns directly or references of references. e.g. populating both model.author and model.author.friends can be done by doing model.author.yes and model.author.friends.yes
When mistyping names, an expressive error message is printed as compile time output, showing all possible members for convenience.