Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CakePHP] Załączenia Behaviora 'w locie'
Forum PHP.pl > Forum > PHP > Frameworki
kleus
Witam,
potrzebuje zalaczyc behavior tylko jezeli w wyszukiwaniu wystepuje dany argument tzn:
pobieram z db liste uzytkownikow
  1. $this->User->find('all');

do tak pobranych userow jezeli user jest Adminem podpinam pod niego liste jego Postow czyli zamiast wyniku
  1. 0 => array(
  2. 'User' => array(
  3. 'Dane Usera'
  4. )
  5. ),
  6. 1 => array(
  7. 'User' => array(
  8. 'Dane Usera'
  9. )
  10. )

potrzebuje
  1. 0 => array(
  2. 'User' => array(
  3. 'Dane Usera'
  4. )
  5. 'Posts' => array( //User jest Adminem Czyli ma Posty
  6. 0 => array(
  7. 'Dane Postu'
  8. ),
  9. 1 => array(
  10. 'Dane Postu'
  11. )
  12. )
  13. ),
  14. 1 => array(
  15. 'User' => array(
  16. 'Dane Usera'
  17. ) // User nie jest Adminem Czyli nie ma Postow
  18. )
abort
No i w czym problem? Jeśli masz np. kod:
  1. foreach ($user as $user) {
  2. $mojatablica[]['User'] = $user;
  3. }

to dopisz sobie tam cos w stylu
  1. if ($user['role'] == 'admin') {
  2. // get_user_posts ($user) to coś, co musisz sobie napisać, aby otrzymać wszystkie posty usera $user
  3. // Oczywiście nazewnictwo i parametry sobie zrobisz pod swoją konwencję
  4. $mojatablica[]['Posts'] = $this->User->get_user_posts ($user);
  5. }

kleus
zadaje pytanie dokladniej: Jak w modelu w funkcji afterFind($results, primary = false) dołączyć behavior.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.