【发布时间】:2009-11-26 09:43:06
【问题描述】:
我目前正在纠结于 CakePHP,决定是否在即将推出的 Web 应用程序中使用它。
问题是,我有几个表在某些时候会相互共享相关数据。如果我要自己编写所有代码,我会使用 SQL 查询,其中包含很多不同的连接和子查询。但据我了解,CakePHP 只支持两个表之间的连接。
例如,我有用户、个人资料、排名、评级表,我想获取某个特定用户的个人资料、排名和评级。 CakePHP 将通过使用多个单独的 SELECT 语句来解决问题。但这可以使用具有多个连接的一个查询来实现。性能预计非常重要,因此不要过多浪费 SQL 查询是一个主要条件。
我发现了两个 hack(one behaviour 和 one using bindModel)和 a similar StackOverflow thread。
我不确定是使用行为还是 bindModel hack。任何人都可以阐明什么是最好的方法 - 即。什么在整体 CakePHP 结构中集成得最好(分页等功能仍然可用)?还是有另一种最终更好的方法。 SO 线程提到了一个使用容器的方法。
希望我为此打开一个单独的问题没有错,但旧线程列出了一些解决方案,但由于上述原因,我的答案并不那么清楚。
【问题讨论】:
标签: php cakephp join frameworks associations