discovery-tecnologia/dsc-mercado-livre

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

Closed this issue · 3 comments

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á.

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:

  • Consulta de categorias
<?php
// Consideramos que já existe um autoloader compatível com a PSR-4 registrado

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!

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!!

Showww @Winsten
Que bom que conseguiu resolver! 👍

Abraço!