了解CakePHP模型数据中的_ids数组

eme*_*his 13 php orm cakephp cakephp-3.0

使用CakePHP v3.1 w/Postgres DB.当我检索带有关联的记录时,我经常会看到一个额外的数组_ids.像这样的东西:

    ...
    (int) 26 => [
        'agency_id' => (int) 23,
        'routes' => [
            '_ids' => (int) 2
        ]
    ]
Run Code Online (Sandbox Code Playgroud)

或者有时:

     '_ids' => Array (
        0 => 1
        1 => 5
        2 => 3
        3 => 4
     )
]
Run Code Online (Sandbox Code Playgroud)

我想了解:

  1. 这些魔法是如何以及为何_ids出现的?
  2. 有没有办法控制或阻止这种行为?

Mar*_*ory 2

这些神奇的 _ids 是如何以及为何出现的?

_ids属性通常来自请求数据。如果关联没有完全整理好,它可能会留在实体上。

如果您提供了一种_ids从ORM重现的方法,请在 github 上打开一个问题,因为这种情况不应该发生。