3 ms·
"When it did work it would return enormous nested arrays of data causing massive CPU and memory usage (out of memory errors plague us on AMO). When it didn’t wo
by trevelyan 17y ago
"When it did work it would return enormous nested arrays of data causing massive CPU and memory usage (out of memory errors plague us on AMO). When it didn’t work, we’d end up doing queries directly which kind of defeats the purpose."
For what it's worth, I believe a lot of these issues are solved with 1.2 (AMO claims to be still on 1.1 which is at least two years old now). It sounds as if their system is just defining relations in their models and letting the database layer pull up all the objects for them. Which of course creates problems. They should shift to using "contains" to limit the depth of the objects retrieved.
The only real issues I've run into in the most recent version of Cake have been an inability to define a separate join table on one of the basic relationships (hasMany?). I seem to remember rails making this possible through an intermediary table, but it is somewhat advanced in any case and the easiest solution ended up being to write an SQL function in the model and use that to fetch the data. It was not hard.
Good luck to them with the re-write.
- qeorge 17y agoAgree, it sounds like most of their issues were solved in 1.2. Huge nested arrays definitely sounds like they aren't controlling the recursion level properly, which is quite simple in 1.2 as you mentioned. Caching is also quite painless in 1.2. Its too bad for such a high profile project to bail on Cake without giving the new version a try. It really is an excellent framework for many projects.