Model retornando array

72 views
Skip to first unread message

Sergio Augusto Vladisauskis

unread,
Nov 13, 2012, 4:38:55 PM11/13/12
to zfbr...@googlegroups.com
Pessoal, criei uma função dentro do meu modelo e ao invés de me retornar um objeto, ele está me voltando um array, teria como retornar um objeto?

Ex:

public function getHistoricos( $conta_id = NULL )
    {
        $select = $this->_db->select()
                            ->from( array( "h" => $this->_name ) )
                            ->join( array( "c" => "tbl_conta" ), "c.id = h.conta_id" )
                            ->where( 'h.conta_id = ?', $conta_id );
        
        return $this->_db->fetchAll( $select );
    }

O fetchAll retorna um objeto, mas a função acima retorna um array.
--
Sergio Augusto Vladisauskis
-> Oportunix IT Services Brasil - ME
-> Site: http://www.facebook.com/oportunix
-> Fone: +55 (15) 3411-2300
-> Móvel: +55 (15) 8164-4014 [TIM] / +55 (11) 9-5308-7965 [Vivo]
-> Skype: oportunix
-> Registered Linux User: 305281

Thiago Paiva

unread,
Nov 13, 2012, 5:02:12 PM11/13/12
to zfbr...@googlegroups.com
$this->_db->getAdapter()->fetchAll($sql) ou eh o getDefaultAdapter, mas, enfim, tenta esses =)

--
Essa mensagem faz parte do grupo "zfbrasil" no Google Groups.
Para escrever neste grupo, envie um email para zfbr...@googlegroups.com
Para se desligar do grupo, envie um email para zfbrasil-u...@googlegroups.com
Mais informações, visite o grupo em http://groups.google.com/group/zfbrasil?hl=pt-BR



--
Atenciosamente,

Thiago Paiva de Oliveira Alves

  ////////////////////////////////////////////////////////////////////////
 ////*Bacharel em Ciências da Computação       ////
////////////////////////////////////////////////////////////////////////

Sergio Augusto Vladisauskis

unread,
Nov 14, 2012, 7:05:19 AM11/14/12
to zfbr...@googlegroups.com
Infelizmente não é nenhum desses 2 que vc me citou...

--
Sergio Augusto Vladisauskis
-> Oportunix IT Services Brasil - ME
-> Site: http://www.facebook.com/oportunix
-> Fone: +55 (15) 3411-2300
-> Móvel: +55 (15) 8164-4014 [TIM] / +55 (11) 9-5308-7965 [Vivo]
-> Skype: oportunix
-> Registered Linux User: 305281


Rattones B-)

unread,
Nov 14, 2012, 7:10:02 AM11/14/12
to zfbr...@googlegroups.com
fetchAll()->toArray()

Marcelo Ratton
Desenvolvedor Web PHP
Celular: (31) 9930-7142
Telefone: (31) 3444-0931
Email/MSN: ratt...@marceloratton.com
Site: www.MarceloRatton.com
=======================================================
NETqueta:
Se você repassar esta mensagem, por favor:
1. Apague o MEU ENDEREÇO eletrônico;
2. Encaminhe CCO ou BCC (CÓPIA OCULTA) aos seus destinatários;
======================================================= 

Gilberto Jean

unread,
Nov 14, 2012, 7:12:12 AM11/14/12
to zfbr...@googlegroups.com
public function getAll()
{
    $select = $this->_db->select()->from('sua_tabela');
    $stmt = $select->query();
    return $stmt->fetchAll();
}

Sergio Augusto Vladisauskis

unread,
Nov 14, 2012, 7:18:04 AM11/14/12
to zfbr...@googlegroups.com
Não funcionou, ainda está voltando um array.

--
Sergio Augusto Vladisauskis
-> Oportunix IT Services Brasil - ME
-> Site: http://www.facebook.com/oportunix
-> Fone: +55 (15) 3411-2300
-> Móvel: +55 (15) 8164-4014 [TIM] / +55 (11) 9-5308-7965 [Vivo]
-> Skype: oportunix
-> Registered Linux User: 305281


}

--

Sergio Augusto Vladisauskis

unread,
Nov 14, 2012, 7:18:28 AM11/14/12
to zfbr...@googlegroups.com
Não é isso Marcelo, quero um objeto, não um array.

--
Sergio Augusto Vladisauskis
-> Oportunix IT Services Brasil - ME
-> Site: http://www.facebook.com/oportunix
-> Fone: +55 (15) 3411-2300
-> Móvel: +55 (15) 8164-4014 [TIM] / +55 (11) 9-5308-7965 [Vivo]
-> Skype: oportunix
-> Registered Linux User: 305281


Gilberto Jean

unread,
Nov 14, 2012, 7:27:01 AM11/14/12
to zfbr...@googlegroups.com
E se vc fizer um cast do tipo:
return (object) $this->_db->fetchAll($select);

:)

Sergio Augusto Vladisauskis

unread,
Nov 14, 2012, 7:34:48 AM11/14/12
to zfbr...@googlegroups.com
Também não funciona.
Bom, me parece que o retorno da função é o problema, não volta objetos.
Vou ficar com o array mesmo, valeu pessoal.

--
Sergio Augusto Vladisauskis
-> Oportunix IT Services Brasil - ME
-> Site: http://www.facebook.com/oportunix
-> Fone: +55 (15) 3411-2300
-> Móvel: +55 (15) 8164-4014 [TIM] / +55 (11) 9-5308-7965 [Vivo]
-> Skype: oportunix
-> Registered Linux User: 305281


--

Leandro Sales

unread,
Nov 14, 2012, 7:45:31 AM11/14/12
to zfbr...@googlegroups.com
Quando você faz o 'join', ele retorna array. Se retirar o 'join', ele volta a retornar objeto.

--
Leandro Sales
Desenvolvedor Web
@leandroasp | +55 86 9427-5626


2012/11/14 Sergio Augusto Vladisauskis <serg...@gmail.com>

Sergio Augusto Vladisauskis

unread,
Nov 14, 2012, 7:47:11 AM11/14/12
to zfbr...@googlegroups.com
Hummm, então teria que só criar uma view e dar um select nela.
Obrigado.

--
Sergio Augusto Vladisauskis
-> Oportunix IT Services Brasil - ME
-> Site: http://www.facebook.com/oportunix
-> Fone: +55 (15) 3411-2300
-> Móvel: +55 (15) 8164-4014 [TIM] / +55 (11) 9-5308-7965 [Vivo]
-> Skype: oportunix
-> Registered Linux User: 305281


Diego Saouda

unread,
Nov 14, 2012, 9:42:18 AM11/14/12
to zfbr...@googlegroups.com
Faça, $this->fetchAll(Zend_Db::FETCH_OBJ)
O objeto retornado é do tipo std class.

Abraço,
Diego

Sergio Augusto Vladisauskis

unread,
Nov 14, 2012, 10:24:47 AM11/14/12
to zfbr...@googlegroups.com
Matou a pau! Valeu...

--
Sergio Augusto Vladisauskis
-> Oportunix IT Services Brasil - ME
-> Site: http://www.facebook.com/oportunix
-> Fone: +55 (15) 3411-2300
-> Móvel: +55 (15) 8164-4014 [TIM] / +55 (11) 9-5308-7965 [Vivo]
-> Skype: oportunix
-> Registered Linux User: 305281


Robson Alexandre

unread,
Nov 15, 2012, 6:35:52 PM11/15/12
to zfbr...@googlegroups.com
Sergio,

seu modelo extende de qual classe?
O máximo que consegui foi um objeto stdClass dentro de um array.
E caso eu quisesse retornar um Zend_Db_Table_Row ou Rowset


Atenciosamente


Robson Alexandre

Sergio Augusto Vladisauskis

unread,
Nov 16, 2012, 11:49:04 AM11/16/12
to zfbr...@googlegroups.com
Estende a classe padrão dos modelos: Zend_Db_Table_Abstract

Com o exemplo do Diego, resolvi o problema:

public function getHistoricos( $conta_id = NULL )
{
        $select = $this->_db->select()
                            ->from( 'view_historico' )
                            ->where( 'conta_id = ?', $conta_id );

        $tmp = $select->query();
        
        return $tmp->fetchAll( Zend_Db::FETCH_OBJ );
}
    
Com isso me retorna um objeto e não mais um array.

--
Sergio Augusto Vladisauskis
-> Oportunix IT Services Brasil - ME
-> Site: http://www.facebook.com/oportunix
-> Fone: +55 (15) 3411-2300
-> Móvel: +55 (15) 8164-4014 [TIM] / +55 (11) 9-5308-7965 [Vivo]
-> Skype: oportunix
-> Registered Linux User: 305281


--
Reply all
Reply to author
Forward
0 new messages