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.