Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

7Canim

[Resolvido] Acessar Objeto na stdClass

Recommended Posts

Estou fazendo uma operação via suap e recebendo objetos, por exemplo, assim: 

Citar

stdClass Object ( [consultarPropriedadeReturn] => stdClass Object ( [ambiente] => 2 [erroBanco] => [idTransacao] => XXXXXXX [listaErros] => stdClass Object ( ) [status] => 1 [trace] => 0 [acessoFazenda] => XXXXXXXXXXXXXXXXXXXXXXXXXXXX [area] => XXXXXX [bairro] => XXXXXXX [cep] => XXXXXXX [codMunicipio] => XXXXXXX  ) ) 
 

 

Eu quero colocar os dados recebidos em um array, mas não sei como acessar os dados dentro desses objetos, por exemplo o acessoFazenda .

 

Código que eu estou usando para receber o objeto e colocar no array

$cods = array(1, 2, 3, 4, 5, 6);


for($i = 0; $i < count($cods); $i++){

    try {
        $wsdl_url = 'http://homolog.agricultura.gov.br/sisbov_ws_nova_hom/';
        $client = new SOAPClient($wsdl_url);
        $params = array(
            'usuario' => "XXXXXXXXXX",
            'senha' => "XXXXXXXXX",
            'idPropriedade' => $cods[$i],
        );
        $return = $client->consultarPropriedade($params);
       // print_r($return);
        echo '</br></br></br>';
    } catch (Exception $e) {
        echo "Exception occured: " . $e;
    }
    
    $prop = array(
        "codPropriedade" => $cods[$i],
        "acessoFazenda" => $return->Object->acessoFazenda,
	);

 

 

Desde já agradeço

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por tiagosp
      Gostaria de saber como posso criar uma instancia de uma classe dentro de outra, e assim utilizar essa instancia em todos os métodos da classe herdeira.
      Class SQL{ SQLExecutar(){ #Executa Insert, Delete e Update } SQLSelecionar(){ #Executa Select } } Todas as demais classes (Cliente, Produto, Serviço, e etc..) importam a classe SQL (include), porém tenho que criar uma instancia em cada função da classe em questão  para executar funções da classe SQL.
      Class Produto{ include("SQL.php"); public function EnviarProduto(){ $SQL1 = new SQL(); $SQL1->SQLExecutar(); } public function AlterarProduto(){ $SQL2 = new SQL(); $SQL2->SQLExecutar(); } public function DeletarProduto(){ $SQL3 = new SQL(); $SQL3->SQLExecutar(); } public function SelecionarProduto(){ $SQL4 = new SQL(); $SQL4->SQLSelecionar(); } } Observe que para cada método, foi necessário criar uma instancia, também já tentei criar uma instancia no escopo global, porém recebo a mensagem que a função solicitada não existe.
      A única saída que encontro, é copiar a classe sql para cada classe necessária e herda-la, porém gostaria de mante-los separados...
    • Por Cesar Melo
      Olá.
      Estou tentar fazer um atributo de um objeto receber um objeto de outra classe. Mas dependendo da forma que faço isso, recebo uma mensagem de erro.
      class PedidoFilho { public $id; public $tipo; } class PedidoPai { public $id; public $tipo; public $pedidoFilho public function getPedFilho() { $this->pedidoFilho= new PedidoFilho(); } } $pedido= new PedidoPai(); $pedido->getPedFilho();  
    • Por Julio Cavallari
      Estou tentando popular um autocomplete usando javascript, e pra isso criei uma função na qual ele cria o objeto para eu utilizar no autocomplete:
      function getAutoCompleteData(){ var returning = {}; $.ajax({ url: "http://localhost/apinovaguaru/", method: "POST", data:{ type: "getclientedata", }, dataType: "JSON", success: function(data){ if(data.result == 1) { for(var i = 0; i < data.cliente.length; i++){ returning[data.cliente[i].nome] = null; } console.log(returning); return returning; } } }); } Até ai beleza, quando testo a função logo após o for, vejo que foi criada perfeitamente como o autocomplete aceita. O problema é que na hora de recuperar esses dados a função só me retorna undefined.
      var clientes = getAutoCompleteData(); console.log(clientes);//Aqui o retorno é undefined Minha dúvida é, como faço minha função retornar o objeto que foi criado dentro dela?
    • Por Julio Cavallari
      Estou tentando popular um objeto com algumas listas de músicas. Preciso que o objeto contenha as propriedades id, título, data da criação, e músicas. Onde essa propriedade músicas deverá ser um outro objeto que contenha todas as músicas dessa lista.
       
      Testei dessa maneira, ms não obtive sucesso:
       
      $queryList = executarSelect("*", "listas","1"); $output = (object)[]; $inc = 0; $incMusics = 0; while($resultList = mysql_fetch_array($queryList)){ $listaID = $resultList['listaID']; $queryMusicsList = executarSelect("musicas.musicaID, musicas.titulo, musicas.artista, musicas.tom, musicasListas.listaID", "musicas INNER JOIN musicasListas", "musicas.musicaID = musicasListas.musicaID AND musicasListas.listaID = $listaID"); while($resultMusicsList = mysql_fetch_array($queryMusicsList)){ $musicObj[$incMusics] = (object)[ "id" => $resultMusicsList["musicaID"], "lista_id" => $resultMusicsList["listaID"], "title" => ucwords(strtolower($resultMusicsList['titulo'])), "artist" => ucwords(strtolower($resultMusicsList['artista'])), ]; $incMusics++; } $listObj[$inc] = (object)[ "id" => $resultList["listaID"], "title" => ucwords(strtolower($resultList['titulo'])), "data" => date('d/m/Y',strtotime($resultList['data'])), "musics" => $musicObj ]; $output->items = (object) ["list" => $listObj]; $incMusics = 0; } O problema é que sempre que mostro o objeto com print_r(), só me aparece a última lista., e com as músicas todas bagunçadas.
    • Por ggbelgamo
      Estou populando um select através de um list que retorna anoInicio e anoFim. Porém, na hora de mandar esses valores SELECIONADOS como parâmetro pro C# via ajax, o c# identica os valores como sendo nulos. Como resolver?
       
      Controller C# que popula o select na view:
      anos = repository.SearchByFilter(filter).Where(w => w.ModelosTrator.Any(i1 => i1.IdModeloTrator == idModeloTrator)) .Select(s => new AnosDto { AnoInicio = s.AnoInicio, AnoFim = s.AnoFim }) .Distinct() .ToList();  
      Aqui populo a select, e quando inspeciono no navegador meu value do option está assim: [object Object]
      //POPULA OS ANOS var selectbox = $('.selectAno'); selectbox.empty(); selectbox.append('<option>Selecione o ano</option>'); $.each(data, function (i, d) { selectbox.append('<option value="' + d + '">' + d.Ano + '</option>'); });  
      Método recebe o parâmetro com nul após a requisição ajaxl: 

       
      Desde já agradeço a atenção e colaboração!
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.