Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Acceder a los elementos de un objeto

Estas en el tema de Acceder a los elementos de un objeto en el foro de PHP en Foros del Web. Saludos a todos Necesito acceder a la propiedad results del objeto que os muestro más abajo. Llevo poco tiempo peleandome con la POO de Php ...
  #1 (permalink)  
Antiguo 05/04/2013, 05:07
 
Fecha de Ingreso: agosto-2004
Mensajes: 312
Antigüedad: 19 años, 8 meses
Puntos: 0
Acceder a los elementos de un objeto

Saludos a todos
Necesito acceder a la propiedad results del objeto que os muestro más abajo.
Llevo poco tiempo peleandome con la POO de Php y algunas cosas aun se me resisten.
El resultado esta guardado en $supply_order_details y a la hora de acceder a results he probado con:
Código PHP:
Ver original
  1. $supply_order_details['results']
ó con
Código PHP:
Ver original
  1. $supply_order_details->results
pero no consigo acceder a los valores guardados en result. No se que me estoy dejando o que estoy escribiendo mal.

Código PHP:
Ver original
  1. Collection Object
  2. (
  3.     [classname:protected] => SupplyOrderDetail
  4.     [id_lang:protected] =>
  5.     [definition:protected] => Array
  6.         ( ... )
  7.     [query:protected] => DbQuery Object
  8.         (...)
  9.     [results:protected] => Array
  10.         (
  11.             [0] => SupplyOrderDetail Object
  12.                 (
  13.                     [id_supply_order] => 6
  14.                     [id_product] => 1449
  15.                     [id_product_attribute] => 3883
  16.                     [reference] => 10448
  17.                     [supplier_reference] => null
  18.                     [name] => CHANEL STYLE TWEED JACKET : Tallas - S, Color - Green 10448 ...)
  19.             [1] => SupplyOrderDetail Object
  20.                 (
  21.                     [id_supply_order] => 6
  22.                     [id_product] => 1449
  23.                     [id_product_attribute] => 3883
  24.                     [reference] => 10448
  25.                     [supplier_reference] => null
  26.                     [name] => CHANEL STYLE TWEED JACKET : Tallas - M, Color - Green 10448 ...)[...]


Por otro lado estoy viendo un texto :protected detrás de la propiedad results y me da que eso me impide acceder a su valor.
Se trata de el listado que devuelve Prestashop para mostrar un pdf, por si puede serviros de algo

Muchas gracias por adelantado
  #2 (permalink)  
Antiguo 05/04/2013, 05:55
Avatar de zalito12  
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 12 años, 5 meses
Puntos: 67
Respuesta: Acceder a los elementos de un objeto

No sé desde dónde intentas acceder, pero si es protected sólo podrás hacerlo desde proyectos del mismo paquete, prueba a poner results como public y a ver.
  #3 (permalink)  
Antiguo 05/04/2013, 08:01
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: Acceder a los elementos de un objeto

Al ser protect como te dicen arriba no puedes acceder al atributo desde fuera de la clase al menos que sea a través de una clase que hereda.

Se supone que deberia tener un metodo que te retorne dicho valor estilo:
Código PHP:
Ver original
  1. public function getResult()
  2. {
  3.     return $this->results;
  4. }

Y accederias desde fuera como:

Código PHP:
Ver original
  1. $supply_order_details->getResults();

Saludos
P.D.: Lo que muestras es el objeto o un var_dump del mismo
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #4 (permalink)  
Antiguo 07/04/2013, 10:17
 
Fecha de Ingreso: agosto-2004
Mensajes: 312
Antigüedad: 19 años, 8 meses
Puntos: 0
Respuesta: Acceder a los elementos de un objeto

Ok gracias por las respuestas y me confirmais lo que me temia

Es el resultado de un método de Prestashop para crear un pdf sobre un envío y tengo que realizar unos cálculos sobre los productos resultantes.

Trataba de recorrer los valores de results con un foreach pero al ver que no mostraba nada y el protected que me aparece al lado veo que no puedo hacerlo así

A ver si encuentro el objeto que me devuelve esos datos e implemento un método que realice lo que quiero

De nuevo gracias

Doy mi duda por cerrada, ya que si no resuelvo eso es un problema de Prestashop y aquí ya no pinta nada

Saludos

Etiquetas: elementos, objeto
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:40.