Mysql hasMany:到是否允许对同一项进行单独编辑?
为了解决这个问题,我是一名设计师/前端开发人员,希望获得一些关于如何设置模型的指导。我已经通读了关于协会和HABTM的蛋糕书,特别是有很多,但仍然不太明白哪本书适合我的需要 我用以下模型和简单关系构建了一个蛋糕应用程序:Mysql hasMany:到是否允许对同一项进行单独编辑?,mysql,cakephp,Mysql,Cakephp,为了解决这个问题,我是一名设计师/前端开发人员,希望获得一些关于如何设置模型的指导。我已经通读了关于协会和HABTM的蛋糕书,特别是有很多,但仍然不太明白哪本书适合我的需要 我用以下模型和简单关系构建了一个蛋糕应用程序: User hasMany Workout User hasMany Shoe Shoe hasMany Workout 我想允许用户将其他用户添加到训练中,因此用户HABTM训练。将User2添加到训练中也会为User2创建训练 我还希望User2能够自己编辑训练的详细信息,
User hasMany Workout
User hasMany Shoe
Shoe hasMany Workout
我想允许用户将其他用户添加到训练中,因此用户HABTM训练。将User2添加到训练中也会为User2创建训练
我还希望User2能够自己编辑训练的详细信息,同时维护关联(以及User1的详细信息)。例如,User2可以指定自己的笔记或与User1指定的不同的训练时间
似乎HABTM关联不允许用户特定的细节部分,但可能有很多?我可以这样做吗:
User hasMany WorkoutDetail
Workout hasMany WorkoutDetail
User hasMany Shoe
Shoe hasMany Workout
WorkoutDetail在何处存储每个用户每次训练的所有个人详细信息
谢谢是的,您的第二个解决方案会很好地工作,这就是我通常在连接表中存储额外信息时处理HABTM关系的方式
User hasMany WorkoutDetail
Workout hasMany WorkoutDetail
你还可以补充一件事
WorkoutDetail belongsTo User
WorkoutDetail belongsTo Workout
这样,如果您查询WorkoutDetail
表,您将获得User
和Workout
信息
正如您所说,每个用户在WorkoutDetail表中都应该有一个单独的条目。谢谢,我一直在努力让它真正起作用。我正在执行saveAll(),但所有数据都保存到“训练”表中,而不是同时保存训练和训练详细信息。我从哪个控制器执行保存操作重要吗?我目前正在尝试从“训练控制器”执行所有操作。@Gio只要关联设置正确,从哪个控制器执行操作应该无关紧要。也就是说,您应该有$hasMany=array('WorkoutDetail');在你的训练模式中。您应该遵循CakePHP烹饪手册中定义的saveAll格式。如果你已经有了所有这些,你可以粘贴代码,我们可以看到发生了什么。