Wednesday, September 23, 2015

Montando um Array json_encode()

Galera, preciso de uma ajuda pra montar um array do mau aqui. Peguei um calendário(bootstrap calendar) pronto e estou tentando implementar ele no meu site com Cakephp. Tudo certo com o layout mas na hora de buscar as informações no banco ele espera receber um Array da seguinte forma:

{"success":1,"result":[{"0":"1","id":"1","1":"Teste","title":"Teste","2":"Apenas para Teste","body":"Apenas para Teste","3":".\/descripcion_evento.php?id=1","url":".\/descripcion_evento.php?id=1","4":"event-important","class":"event-important","5":"1443105000000","start":"1443105000000","6":"1443112800000","end":"1443112800000"}]}

No calendar original ele monta da seguinte forma:

if ($conexion->query($sql)->num_rows) {         $datos = array();           $i=0;        $e = $conexion->query($sql);         while($row=$e->fetch_array())      {          $datos[$i] = $row;          $i++;      }        echo json_encode(                             array(                                    "success" => 1,                       "result" => $datos                )                                );    }
Mas não tem cristo que eu consiga fazer isso pelo cakephp. o melhor resultado que tive foi esse:
{"success":1,"result":[{"Agenda":{"id":"1","title":"teste","body":"teste","url":"teste","class":"event-important","start":"1443105000000","end":"1443112800000","0":"1","1":"teste","2":"teste","3":"teste","4":"event-important","5":"1443105000000","6":"1443112800000"}}]}
Meu controller ficou assim:

public function obter_eventos(){      $datos = $this->Agenda->find('all');        foreach ($datos as $key => $dato) {          foreach ($dato as $value) {              $i = 0;              foreach ($value as $valor) {                  $datos[$key]['Agenda'][$i] = $valor;                  $i++;              }          }      }        echo json_encode(                        array(                                "success" => 1,                   "result" => $datos            )                             );        $this->autoRender=false;        }

--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

---
You received this message because you are subscribed to the Google Groups "CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cake-php+unsubscribe@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

No comments: