Lançado Adianti Framework 7.6!
Clique aqui para saber mais
Como ler as informações do $object = $this->form->getData $object = $this->form->getData('Paises'); Quando dou um print_r($object) ele mostra: Paises Object ( [data:protected] => Array ( [id] => 175 [codigo] => 175 [nome] => ALBANIA, REPUBLICA DA ) [attributes:protected] => Array ( [0] => codigo [1] => nome ) ) Queria ler essas informações e montar um texto com os campo assim: id => 175 codigo => 175 nome => ALBANIA, REPUBLICA DA Alguem me ...
LC
Como ler as informações do $object = $this->form->getData  
Fechado
$object = $this->form->getData('Paises');
Quando dou um print_r($object) ele mostra:
Paises Object ( [data:protected] => Array ( [id] => 175 [codigo] => 175 [nome] => ALBANIA, REPUBLICA DA ) [attributes:protected] => Array ( [0] => codigo [1] => nome ) )

Queria ler essas informações e montar um texto com os campo assim:
id => 175
codigo => 175
nome => ALBANIA, REPUBLICA DA

Alguem me da uma dica pq eu estou apanhando rsrsrsrs.

Curso completo Meu Negócio Pronto
Use para si, ou transforme em um negócio: Inclui aulas e códigos-fontes
Gestor de conteúdo (SITE) + Loja Virtual (E-Commerce) + Emissor de Notas para infoprodutos


Meu negócio pronto Quero me inscrever agora!

Comentários (12)


FC

$object = $this->form->getData('Paises');

Cada objeto pode ser exibido assim:
echo $object->id;
echo $object->codigo;
echo $object->nome;

o echo é somente para exibir ok o valor que vc quer está no objeto.
LC

Valeu Felipe, assim eu já costumo usar.

Mais eu não estou sabendo é fazer um foreach já para pegar todos os campos, e ir montando uma string.
FC

acho que nesse caso não seria concatenar ? pq vc iria usar um foreach num array único.
LC

Pensei no foreach para não ficar pegando campo a campo.
Poderia fazer:
$campos = "id => " . $object->id . "\n";
$campos .= "codigo => " . $object->codigo . "\n";
e assim por diante em todos os campos

se for 2, 3 campos nem da trabalho, mais e para um monte de campo ?

Por isso em um loop

Mais estou ainda aprendendo, rsrsrs.
PD

Leandro,

Você pode usar o método toArray():
www.adianti.com.br/framework_files/tutor/index.php?class=ObjectFromA

Além disso, evite chamar sua classe de "Paises", prefira "Pais". Aqui está a explicação:
www.adianti.com.br/framework-naming

Abs,
Pablo
LC

toArray() funcionou direitinho, valeu.
RF

Olá, galera. Alguém poderia me explicar, acho que é coisa de principiante, mais é o seguinte: como um objeto ($object) em TRecord foi convertido em array em toArray(). Não entendi como foi feita esta conversão.
Obrigado.
FC

Ronaldo

Dentro da classe TRecord existe duas funções toarray() e fromarray() a função é basicamente transformar array em objeto e objeto em array, estude a classe TRecord.
RF

Felipe, primeiro, obrigado pela tua atenção.

Estudei o código, mas não encontrei ainda a resposta. O que eu não entendo, Felipe, é o fato de quando passo o $object->data com argumento em fromArray(), fazendo um var_dump, descubro que o objeto já foi convertido. Mas, como?

Parece mágica.
FC

Hahahaaa as coisas que o @pablo faz são assim parece mágica uma dica vai na classe e estude o código. A mágica tá lá.
RF

Olha, Felipe, o que consegui até agora foi assim: quando o resultado do " $object = $result->fetchObject(get_class($this)); " é depositado na var $object, também é realizado o _set que vai alimentando o array $data. Após isso tudo, quando é executado o $this->fromArray($object->toArray()); no __constructor, $object já é um array. E o fromArray o carrega para $this->data apenas.

Mas, tá faltando alguma coisa.

Empaquei aqui....

RF

Leandro, obrigado pela força. Finalmente entendi o método. Usei o xdebug para ver melhor. Ai, tudo ok.
Abraço.