jestem tring aby wykonać następujące czynności:CakePHP znaleźć kwerendy w wielu datasources
- Moje modele „Spółka” są przechowywane w „default” źródłem danych. W modelu ustawiam var $ useDbConfig = 'default';
- Moje modele użytkownika są przechowywane w innym źródle danych o nazwie "users_db". W tym modelu ustawiam var $ useDbConfig = "users_db";
Istnieje zależność "belongsTo" między modelami "Firma" i "Użytkownik".
Chcę wykonać zapytanie rekurencyjne, które spowoduje przywrócenie wszystkich użytkowników dla każdej firmy za jednym razem. Mam wrażenie, że nie mogę tego zrobić z Cake, tak jak jest obecnie.
Kiedy próbuję następujące:
$res2 = $this->Company->find('all', array(
'conditions' => array('Company.id' => 1),
'recursive'=>2
));
pojawia się komunikat, że nie może znaleźć tabeli użytkowników (jego spojrzenie na źródło domyślne): Błąd: user_groups stół dla modelu użytkownik nie został znaleziony w źródle danych domyślnie.
Czy mogę to zrobić?
Wielkie dzięki za wszelką pomoc można zapewnić .....
kSeudo.
1) Jakie są wasze stowarzyszenia ?, 2) za pomocą rekurencyjnych nie jest pomysł - spróbuj mieszczące zachowanie CakePHP zamiast. Następnie, jeśli nadal nie działa, opublikuj zapytanie, które próbuje uruchomić. – Dave
cześć Dave, Dzięki za odpowiedź. - Model użytkownika należy do firmy - model firmy ma wielu użytkowników Zapytanie jest zdefiniowane powyżej. Dużym problemem jest to, że modele firmowe i użytkownika są przechowywane w różnych bazach danych. Czy uważasz, że mogę nadal używać kwerendy wyszukiwania do odzyskania pełnego wyniku z nienaruszonymi relacjami? Będę sprawdzać, czy "Containable" może mi pomóc. Wielkie dzięki! – kSeudo
Nie jestem w 100% pewny, ale wierzę, że Cake poprawnie obsługuje zapytania wielodostępowe. To, co pokazujesz w swoim pytaniu, nie jest zapytaniem - to linia kodu CakePHP, która WYKONUJE zapytanie. Bardzo pomocne będzie edytowanie pytania i dodanie wygenerowanego zapytania. – Dave