ML
Serviço rest
Bom dia, estou usando o serviço rest do adianti e estou com dificuldade para trazer informações da classe associada.
Tenho duas classes: Resumo e ResumoDetalhe ( 1 resumo tem vários detalhes)
No retorno da busca em Resumo só vem as informações relacionadas a propria tabela resumo sem os objetos Resumo_detalhes, como posso fazer pra q ele seja retornado no JSON
Classe Service:
Model da Classe Resumo, metodo load:
Retorno:
Tenho duas classes: Resumo e ResumoDetalhe ( 1 resumo tem vários detalhes)
No retorno da busca em Resumo só vem as informações relacionadas a propria tabela resumo sem os objetos Resumo_detalhes, como posso fazer pra q ele seja retornado no JSON
Classe Service:
$repository = new TRepository($activeRecord);
$objects = $repository->load($criteria, TRUE);
$attributes = defined('static::ATTRIBUTES') ? static::ATTRIBUTES : null;
$return = [];
if ($objects)
{
foreach ($objects as $object)
{
$return[] = $object->toArray( $attributes );
}
}
TTransaction::close();
return $return;
Model da Classe Resumo, metodo load:
/**
* Load the object and its aggregates
* @param $id object ID
*/
public function load($id)
{
// load the related ResumoDetalhe objects
$repository = new TRepository('ResumoDetalhe');
$criteria = new TCriteria;
$criteria->add(new TFilter('id_resumo', '=', $id));
$resumo_detalhes = $repository->load($criteria);
if ($resumo_detalhes)
{
foreach ($resumo_detalhes as $resumo_detalhe)
{
$resumo_detalhe = new ResumoDetalhe($resumo_detalhe->id , TRUE);
$this->addResumoDetalhe($resumo_detalhe);
}
}
// load the object itself
return parent::load($id);
}
Retorno:
{
"status": "success",
"data": [
{
"id": "1",
"mes": "06/2018",
"cli": "000101",
"clides": "Administracao",
"id_empresa": "1"
}
]
}
Você vai ter que adicioná-los manualmente ao array de retorno: