Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document::all() retorna un array vacío #7

Open
gabrielchavezme opened this issue Jun 5, 2020 · 2 comments
Open

Document::all() retorna un array vacío #7

gabrielchavezme opened this issue Jun 5, 2020 · 2 comments

Comments

@gabrielchavezme
Copy link

Estoy utilizando el método estático all() de la clase Document para traer todos los documentos de la cuenta de mifiel.com pero al momento de hacer un debug de la aplicación me retorna un array vacío.

Le di un vistazo al código y he notado lo siguiente:

public static function all() {
    self::validateResuorceName();
    $response = ApiClient::get(static::$resourceName);
    $response_body_arr = json_decode($response->getBody());
    $return = array();
    foreach ($response_body_arr as $object) {
      $return[] = new static($object);
    }
    return $return;
  }

Esta función retorna una clase estática y la vuelve inaccesible para llamarla a otros métodos, por eso retorna el array vacío.

He realizado el siguiente cambio:

public static function all() {
    self::validateResuorceName();
    $response = ApiClient::get(static::$resourceName);
    $response_body_arr = json_decode($response->getBody());
    $return = array();
    foreach ($response_body_arr as $object) {
      $return[] = new static($object);
    }
    return $response_body_arr;
  }

Al retornar $response_body_arr estamos pasando el response directo de la clase ApiClient y eso hace accesible toda la data desde otras funciones en mi aplicación.

¿Podrían checar esto?

@genaromadrid
Copy link
Member

Que tal @gabrielchavezme, esto pasa porque probablemente no tienes documentos en tu cuenta. La variable $return es un array de instancias de documento, si hacemos lo que propones estaríamos devolviendo solo objetos sin los métodos dentro de cada elemento del array.

Crea un documento, verás que al hacer la llamada te regresará un array con 1 elemento

@gabrielchavezme
Copy link
Author

Que tal @gabrielchavezme, esto pasa porque probablemente no tienes documentos en tu cuenta. La variable $return es un array de instancias de documento, si hacemos lo que propones estaríamos devolviendo solo objetos sin los métodos dentro de cada elemento del array.

Crea un documento, verás que al hacer la llamada te regresará un array con 1 elemento

Ya he verificado que tengo documentos en mi cuenta y de hecho me retorna la cantidad de documentos que tengo en mi sandbox de mifiel pero lo que me retorna solamente son objetos vacíos.

Captura del response: https://prnt.sc/syelwa

$documents = Document::all();
return $documents;

Captura de los documentos: https://prnt.sc/syeosu

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants