Mysql
 sql >> Baza danych >  >> RDS >> Mysql

CakePHP:ma wiele nierozpoznanych skojarzeń

Nie widzę tu problemu. W rzeczywistości, czy nie jest odpowiedzią w twoim inne pytanie opublikowane dzisiaj?

Tak więc, z tego co rozumiem, musisz wymusić relację sprzężenia, gdy mówisz o hasMany , prawo? To właśnie robisz używając $joins szyk. Ponieważ User hasMany Attempt , musisz wymusić połączenie. Teraz prawdopodobnie nie będzie to konieczne, jeśli stronicujesz z Attempt z punktu widzenia. Jeśli wykonasz $this->Paginator->paginate('Attempt'); (zmieniając niezbędne relacje i warunki), nie musisz ręcznie dołączać do tabeli użytkowników, aby uzyskać dane.

I tak, jeśli Attempt nie dołącza się samo (zgodnie z dokumentacją), wtedy warunek zamówienia stwarza problem, ponieważ Attempt dane są pobierane w innym zapytaniu, a odwołanie do tabeli zostaje utracone w pierwszym zapytaniu. Rozwiązanie:wykonaj połączenie, ciasto zachowuje się zgodnie z oczekiwaniami.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. odejmij 1 od liczby w wierszu Zapytanie SQL

  2. Zapytanie SQL sumujące dwie różne wartości tej samej kolumny ID w jednym zapytaniu

  3. SQL Pobierz X ostatnich wpisów z „niestandardowego” post_type liczenie użytkowników indywidualna liczba niestandardowego post_type

  4. Przykład pętli w MySQL

  5. Java2MySQL> Ponownie awaria łącza komunikacyjnego z powodu podstawowego wyjątku