Commit graph

6 commits

Author SHA1 Message Date
Aaron L
0818af0e26 Don't use XSlice where unneeded.
- In the bowels of the eager loading we weave in and out of reflection,
  but we should not care about using XSlice unless it's going back to
  the user. This change makes it so the XSlice is only used where it
  matters, everywhere else is *[]*X to avoid type assertion errors from
  being able to have either or come into the Load() functions.
- Fix #124
2017-04-04 19:44:36 -07:00
Aaron L
59c238539d Attach all eagerly loaded models in to-one
- The problem here is that due to the nature of the relationship and the
  way the loop was set up it was possible to miss some relationships:

A _ C
 \_ D

B _ E
 \_ F

Since we looped over A and B and did a break when we found something to
attach it to (in this example A would find C) it would break. What we
should be looping through is CDEF and finding a home for each one.

Did the same change in to_one though it doesn't matter since it's
one-to-one.

to-many is untouched because it's already looping over CDEF and finding
a home for it because the relationship is reversed.

- Fix #98
2017-01-26 22:06:47 -08:00
Aaron L
3046214fb6 Ensure that relationship structs aren't clobbered
- There was no thought put in if a relationship struct already existed
  when it went to be used a second time so it was being clobbered.
- Fix #39
2016-11-08 18:25:15 -08:00
Aaron L
2c534361e1 When .LoadX gets called, create R structs
- Fix #51
- This is a waste of allocations, but in general makes for a much nicer
  user interface.
2016-09-29 19:32:43 -07:00
Aaron L
5ba6769134 Remove unuseful text helper variable 2016-09-20 21:08:19 -07:00
Aaron L
69e07b9a05 File shuffle 2016-09-18 16:41:04 -07:00
Renamed from templates/06_relationship_to_one_eager.tpl (Browse further)