discovery-tecnologia / dsc-mercado-livre

Biblioteca de integração com o Mercado Livre
Apache License 2.0
72 stars 29 forks source link

Como acessar um item da função findCategory() #25

Closed Winsten closed 5 years ago

Winsten commented 5 years ago

Olá!! Bem é o seguinte, não sei se é ignorância minha, mas não consigo acessar os subelementos da função findCategory(), já tentei de tudo e sem sucesso. A unica forma que encontrei foi mudando os atributos de private para public no src/Requests/Category/Category.php Mudando isso consigo ter o acesso e assim ver o nome e o id da categoria para poder colocar no cadastro do produto. No mais muito obrigado desde já.

dilowagner commented 5 years ago

Olá @Winsten,

Bom, os atributos da classe Category são privados mesmo... devido o encapsulamento... pra acessar os atributos você deve acessar por get e se quiser setar valores com o set... exemplo:

use Dsc\MercadoLivre\Requests\Category\CategoryService;

$service = new CategoryService();

// Consulta uma categoria específica $category = $service->findCategory('MLA5725');

echo $category->getId(); // ou echo $category->getName();



Abraço!
Winsten commented 5 years ago

Valeu!!! ontem tinha tentado de tudo quanto é jeito e sem sucesso, acho q o calor me deixou doido kkk, você me ajudou, apesar de aqui eu ter implementado mais coisas para poder fazer a categorização do produto. no mais segue para ajudar outros colegas.

  $cod_category = 'MLB46585';
  $ml_service = new CategoryService();
  $category = $mlservice->findCategory($cod_category);

  $children = $category->getChildrenCategories($cod_category);
  $cat_meli = [];

  foreach ($children as $key => $value) {
    array_push($cat_meli, ['id'=>$value->getId(),'name'=>$value->getName()]);
  }

  return $cat_meli;

Assim consegui pegar os filhos da função para poder depois os colocar num select option dinamicamente. Obrigado mais uma vez valeu!!

dilowagner commented 5 years ago

Showww @Winsten Que bom que conseguiu resolver! 👍

Abraço!