2016-09-06 35 views
12

Korzystanie z CakePHP v3.1 w/Postgres DB. Podczas pobierania rekordów ze skojarzeniami często widzę dodatkową tablicę z _ids. Coś takiego:Zrozumienie tablicy _ids w danych modelu CakePHP

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

Albo czasami:

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

Chciałbym zrozumieć:

  1. Jak i dlaczego te magiczne _ids pojawiają?
  2. Czy istnieje sposób kontrolowania tego zachowania lub zapobiegania mu?
+2

Czy jesteś pewien, że widzisz je na podstawie pobierania danych DB? A może po utworzeniu/załatwieniu encji z danymi żądania? – ndm

+0

@ndm Nie, nie jestem naprawdę pewien. Debaguję zmienne w teście jednostkowym, więc możliwe, że zostały po prostu poprawione lub coś. – emersonthis

+2

Właściwie sam się teraz trochę zdezorientowałem ... po utworzeniu/załataniu encji, te identyfikatory powinny były zostać rozwiązane, więc domyślam się, że po prostu patrzysz na dane żądania/formularza. – ndm

Odpowiedz

1

Jak i dlaczego pojawiają się te magiczne _ids?

Obiekt _ids generalnie pochodzi z życzenie danych. Może to pozostać w jednostce, jeśli stowarzyszenie nie zostanie całkowicie rozesłane.

Jeśli zapewnisz sposób na odtworzenie _ids przychodzących z ORM, proszę otworzyć problem na github, ponieważ nie powinno się to dziać.

Powiązane problemy