Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CakePHP][2.1.3]Pobieranie danych z dwóch rekordów jednej tabeli w jednym widoku
QeX
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 13.04.2012

Ostrzeżenie: (0%)
-----


Witam,

Potrzebuję pobrać i pokazać w jednym widoku dane jednego typu, ale o różnych id z jednej tabeli. Informacje o id danych są w innej tabeli, w polach powiedzmy"dataid_a" i "dataid_b".

Dane dla "dataid_a" pobierane są w widoku i to działa, ale potrzebuję dorzucić dane z "dataid_b". Nie można, niestety po prostu dopisać 'echo "dataid_b"...' wink.gif - skrypt bierze pod uwagę tylko id pierwszej danej.

Próbuję stworzyć helper pobierający dane, ale nie wiem czy to słuszna droga? Proszę o jakieś wskazówki.

Ten post edytował QeX 2.08.2012, 21:28:29
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
kleus
post
Post #2





Grupa: Zarejestrowani
Postów: 93
Pomógł: 7
Dołączył: 22.10.2009
Skąd: Siędzę

Ostrzeżenie: (0%)
-----


Nie do końca rozumie o co tak naprawde chodzi wiec nie jestem w stanie Ci pomoc.
Najpierw piszesz o jednej tabeli pozniej o dwoch...

Jezeli chcesz pobierac dane z dwoch tabel to zamiast helpera radze wykorzystac callback afterFind
Go to the top of the page
+Quote Post
QeX
post
Post #3





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 13.04.2012

Ostrzeżenie: (0%)
-----


Chcę pobrać dane z dwóch rekordów jednej tabeli na podstawie informacji o id tych danych, które są w innej tabeli.


Tworząc dokument zapisuję dane w tabeli1 i id tych danych w tabeli2:

-------------------
tabela1
-------------------
id | dana |
-------------------
1 | coś |
2 | icoś |


---------------------
tabela2
---------------------
id | id_danych |
---------------------
1 | 1 |
2 | 2 |


Mechanizm zapisu działa bez problemu.

Następnie chcę pokazać dokument z danymi z pierwszej tabeli na podstawie id zapisanych w drugiej. Dokument ma zawierać dane o różnych id (np. 1 i 2) jednocześnie i na tym polega problem. Nie wiem jak wywołać dwie dane o różnych id z pierwszej tabeli za pomocą jednego modelu.
Go to the top of the page
+Quote Post
kleus
post
Post #4





Grupa: Zarejestrowani
Postów: 93
Pomógł: 7
Dołączył: 22.10.2009
Skąd: Siędzę

Ostrzeżenie: (0%)
-----


Jeżeli twoja tabela2 nie jest powiązana jeszcze z inna tabelą to nie wiem po co ci ona.

Jak chcesz wyłuskać z tabeli rekordy o id np. 1, 2 to robisz tak
  1. $tabela1 = $this->Tabela1->find('all', array(
  2. 'conditions' => array(
  3. 'Tabela1.id' => array('1', '2')
  4. ),
  5. 'order' => array(
  6. 'Tabela1.created' => 'DESC'
  7. )
  8. ));

Jak już tak bardzo się upierasz zeby za pomca tabeli 2 wyciagac dane z tabeli1 to robisz
  1. $dane = $this->Tabela2->Tabela1->find('all', array(
  2. 'conditions' => array(
  3. 'Tabela1.id' => array('0', '3')
  4. ),
  5. 'order' => array(
  6.  
  7. )
  8. ));


Tylo przypadek hasMany belongsTo inaczej nie bedzie działac

Ten post edytował kleus 5.08.2012, 19:33:56
Go to the top of the page
+Quote Post
QeX
post
Post #5





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 13.04.2012

Ostrzeżenie: (0%)
-----


Dzięki smile.gif

Zrobiłem to tak:

Ponieważ muszę pobierać dane z jednej (tej drugiej) tabeli więc dane już na etapie zapisu są przekazywane z tabeli1 jako tekst (nazwa) do dwóch dodatkowych pól w tabela2 i stamtąd pobierane w dwa miejsca dokumentu.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 05:45