Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [ZF] Zakręceniłem się między arrayami, a objektami
mate
post
Post #1





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 27.06.2007

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


Witam,
znając życie to znów pytam o coś głupiego, ale nie umiem sobie poradzić z pewną rzeczą.
Chodzi o to, że pobieram jakiś tam objekt z danymi po użyciu $db->fetchAll(); Powiedzmy, że w bazie mam 3 kolumny, a chciałbym, żeby w wynikach przy wyświetlaniu dodał się jeszcze jeden element. No i pytanie jest takie czy da się jakoś wejść w objekt i w pętli go rozszerzać o coś tam?
Bo ja na razie kombinowałem w taki sposób, że wynik konwetrtuję do arraya, czyli $db->fetchAll()->toArray(); a następnie w pętli dodaję do tej tablicy odpowiednie wartości. Problem jednak pojawia się wtedy jakbym chciał ponownie wrócić do tego objektu, który jest domyślnie zczytywany po użyciu funkcji fetchAll. Po za tym jeszcze pozostaje kwestia czy jest to w ogóle optymalne rozwiązaie.
Go to the top of the page
+Quote Post
vokiel
post
Post #2





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Pierwsza opcja to pobranie od razu z bazy odpowiednich danych.

Jeśli nie, to bez problemu możesz do obiektu dodawać nowe pola.
  1. $obj = new StdClass;
  2. foreach( array('a' => 1, 'b'=> 2, 'c' => 3) as $name => $value){
  3. $obj->{$name} = $value;
  4. }
  5. var_dump($obj);


--------------------
Go to the top of the page
+Quote Post
mate
post
Post #3





Grupa: Zarejestrowani
Postów: 50
Pomógł: 0
Dołączył: 27.06.2007

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


Chodzi o to, że dostaję coś tam i np. przy użyciu pętli foreach mogę sobie z nich korzystać:
  1. foreach($db->fetchAll() as $e) {
  2. echo $e->id . ' ' . $e->name;
  3. // Ale chcialbym żeby do tego coś dodać np:
  4. $e->dodatek = $e->id * 5; // To tylko przykład jakiś tam i chodzi o to, że tego pola dodatek nie ma w bazie.
  5. }
Go to the top of the page
+Quote Post
quality
post
Post #4





Grupa: Zarejestrowani
Postów: 172
Pomógł: 9
Dołączył: 13.02.2006
Skąd: Warszawa

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


Mozesz tak korzystac i zmieniac. W php 5.3 objekty sa automatycznie przekazywane przez referencje.


--------------------
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: 22.08.2025 - 04:59