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.
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.
$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.
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.
acho que nesse caso não seria concatenar ? pq vc iria usar um foreach num array único.
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.
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
toArray() funcionou direitinho, valeu.
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.
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.
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.
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á.
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....
Leandro, obrigado pela força. Finalmente entendi o método. Usei o xdebug para ver melhor. Ai, tudo ok.
Abraço.