2011-08-01 116 views
0

我有几个模型通过HABTM关系相互关联。Cakephp模型数据检索

锻炼有许多练习| 练习有许多锻炼| 练习有一个日志| 用户有很多Exercises_Workouts

所有这些表的关系在一个表中设置

exercise_workouts table

我想这样做: 正如你所看到的,USER_ID和workout_id不是唯一的,但exercise_id和log_id将始终是唯一的。

我想找到一个用户的数据,然后所有的锻炼,并让它返回所有练习及其相应的信息以及每个练习的日志信息。

最终输出看起来像这样。

enter image description here

我尝试了好几种方法和他们都没有返回阳性结果。我还想听听比我更有经验的人如何处理这种情况。我能想到的唯一可能会得到我想要的是多个SELECT语句。

谢谢你的帮助。 欢呼!

回答

0

谢谢你的帮助。我最终找出了自己的答案。

所有这些都必须在一个表中的原因是我需要能够访问与所有这些分支有关的单个ID。另外,每个分支不被更新只被引用。我最终做的是使用可容忍的行为。我实际上通过我自己的代码找到了这个答案。我有一个偷偷摸摸的怀疑,我早先遇到过这个问题。

可控制的行为使我可以深入到我的协会中,而不是我之前所能做的。 最初我只从Workout-> Exercise-> Log提取数据,但我还需要LogDay(单个条目)。所以我使用可容纳的行为来获取数据以及删除其他不必要的数据。

再次感谢!

0

“所有这些表关系都设置在一个表中”:你称这个表为什么?这不是定义关系的常用方法。 “练习有很多练习|练习有一个日志|用户有很多练习练习”:练习HABTM练习(如果日志没有连接到任何其他表,将其字段包含在练习表中),用户有很多锻炼。

我试过了几种方法,但都没有返回正面结果。我还想听听比我更有经验的人如何处理这种情况。我能想到的唯一可能会得到我想要的是多个SELECT语句。

您对SQL,PHP和CakePHP有多熟悉?如果你对所有这些人都陌生,那么解释如何做你想做的事情是很难的。向我们展示迄今为止使用的方法。