emersonthis emersonthis - 4 days ago 5
PHP Question

Understanding _ids array in CakePHP model data

Using CakePHP v3.1 w/ Postgres DB. When I retrieve records with associations I often see an extra array of

_ids
. Something like this:

...
(int) 26 => [
'agency_id' => (int) 23,
'routes' => [
'_ids' => (int) 2
]
]


Or sometimes:

'_ids' => Array (
0 => 1
1 => 5
2 => 3
3 => 4
)
]


I would like to understand:


  1. How and why do these magic
    _ids
    appear?

  2. Is there a way to control or prevent that behavior?


Answer

How and why do these magic _ids appear?

The _ids property generally comes in from request data. It could be left behind on an entity if the association isn't completely marshalled though.

If you an provide a way to reproduce _ids coming out of the ORM, please open an issue on github as that shouldn't be happening.

Comments