Ticket #288 (new task)
Create simplified doSelectJoin*() method(s)
| Reported by: | hans | Owned by: | hans |
|---|---|---|---|
| Priority: | normal | Milestone: | 2.0 |
| Component: | Generator | Version: | devel |
| Severity: | normal | Keywords: | |
| Cc: |
Description
Currently there are many doSelectJoin*() methods being generated for all the possible related tables. This is resulting in very large classes containing many methods that are very similar. This needs to be fixed.
We can certainly create the needed Query objects (with joins) at runtime. The main problem is simply how to express this. There's also an advantage to having generated methods that know how tables are related and can construct the query accordingly.
Another option would be to discard these JOIN methods altogether, relying instead on speedy database connections and/or some sort of caching mechanism. I don't think there's a way to have Propel "predict" which tables should be JOINed in and do it transparently in the background. Joining all tables all the time would penalize typical non-join operations -- as the benefit of having all related objects on hand would almost never be fully utilized.
