Tuesday, February 15, 2022

[FIXED] Understanding _ids array in CakePHP model data

Issue

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?

Solution

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.



Answered By - Mark Story

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.