【问题标题】:CakePHP and linker tablesCakePHP 和链接器表
【发布时间】:2012-04-07 15:35:04
【问题描述】:

我的 CakePHP 应用程序中有以下 3 个表:

**posts**
id
title
content

**tags**
id
title

**posts_tags**
id
post_id
tag_id

如您所见,我有可以附加标签的帖子,这些帖子存储在名为 posts_tags 的链接器表中。问题是我对如何在 CakePHP 中进行设置感到困惑?

因为我有一个用于帖子和标签以及模型的控制器。尽管在使用帖子创建标签时,逻辑是在帖子控制器中完成的。但是如何正确保存到链接器表以及标签和帖子表?有没有一种很好的简单方法来处理这种场景中的关联?

我已经很好地设置了帖子和作者的关联(未显示用户表),因为它只是一个简单的一对多关系,但是这个呢?

【问题讨论】:

    标签: php cakephp


    【解决方案1】:

    实现这一点的最简单方法是使用 Cake 的“hasMany through (The Join Model)”

    参见 Cakebook 的部分: http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html#hasmany-through-the-join-model

    然后在你的控制器中,使用 ->saveAll() 来保存数据: http://book.cakephp.org/2.0/en/models/saving-your-data.html#model-saveall-array-data-null-array-options-array

    【讨论】:

    • 你有没有机会展示一个简单的例子来说明我如何在一个方法中做到这一点?
    • 第一个链接有一个示例,其中包含 3 个表及其各自的模型 + 关联。只需替换您的表即可。 (即 CourseMembership 类似于您的 PostsTags)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多