【问题标题】:CakePHP Associations, Containable, and ThreadedCakePHP 关联、可包含和线程化
【发布时间】:2012-02-11 07:44:22
【问题描述】:

您好,我有几个关于关联以及它们在案件中的运作方式的问题 复杂的 find() 调用。

  • 如果我有一个模型 Post 和一个模型 Comment,后者具有 parent_id 字段 并且我想获取与其关联的 cmets 线程的帖子,我是否只需执行一个 find('threaded', ...)Post 本身上,否则会导致错误,因为 Post 不会 有 parent_id 吗?我特别关心Containable + Threaded find。 (这 我在这里给出的示例是我实际需要实现的简化版本)

  • 协会名称有什么意义? Containable 是否适用于关联名称 或型号名称? (我想知道这一点的原因是因为我试图通过具有特定于条件的模型关联来实现多态模型,通常与同一个模型有多个关联)

【问题讨论】:

  • 引用 CakePHP Cook Book:contain 方法的第一个参数接受 models 的名称或名称数组,以保留在查找操作中。所以我想这部分回答了我问题的后半部分;除非这本烹饪书措辞松散,我对此深表怀疑。

标签: cakephp associations cakephp-model


【解决方案1】:
  • 认为containable 不支持在包含的模型上进行线程查找。例如,您的 comments 表中可能有一个 post_id 列,然后执行以下操作:

    $this->Comment->find('thread', array( '条件' => 数组( 'post_id' => 5)));

  • 虽然书中可能会说 Containable 使用模型名称,但当我在相同模型之间有多个连接时,我经常在 Containable 中使用关联名称。对于简单的项目,模型名称通常与关联名称相同,所以这可能就是书中这么说的原因。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-03-12
  • 1970-01-01
  • 1970-01-01
  • 2012-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多