hola a todos, tengo un pequeño inconveniente, debo escribir algo de codigo php pero creo que este tema va en esta seccion, solo es para que tengan una idea de lo que estoy haciendo.
uso un framework php (laravel) en este tengo esta funcion:
Código PHP:
Ver original$dientes= Diente::all();//obtengo todos los registros de la tabla Diente
foreach ($dientes as $d) {
$arrayName = array('id' => $d->id,'nombre' => $d->nombre,'color' => $d->color);//creo un array solo con las claves que voy a utilizar }
return Response::json($arrayName);//convierto a json y envío
en javascript tengo:
Código Javascript
:
Ver original.done(function(data) {
var json = JSON.parse(data);
console.log(json.color, json.nombre);
})
hasta alli todo funciona perfecto, se muestra en consola el el color y el nombre, el problema es que solo me muestra la ultima fila de la base de datos, asi que cambio el codigo php, en vez de retornar el array retorno la variable $diente asi:
Código PHP:
Ver originalreturn Response::json($dientes);//convierto a json y envío
pero este condigo me muestra en consola
undefined, no se porque ya que lo que se obtiene es un formato json valido:
Código json:
Ver original[
{
"id": "1",
"nombre": "aaaa",
"color": "rgb(109, 109, 153)",
"created_at": "2013-10-25 19:42:25",
"updated_at": "2013-10-25 19:42:25"
}
]
pero cuando retorno la variable $arrayName se quitan los corchetes y se retorna el siguiente formato:
Código json:
Ver original{
"id": "1",
"nombre": "aaaa",
"color": "rgb(109, 109, 153)"
}
los dos los he validado en
http://jsonlint.com/ y estan correctos, tal vez aparece
undefined cuando utilizo la variable $dientes porque no se manejar el objeto tomado mediante javascript, espero haberme explicado.
De antemano gracias por las respuestas.