Lançado Adianti Framework 7.6!
Clique aqui para saber mais
servicos rest Boa tarde, Tenho um service Rest que retorna assim: if ($produtos) { foreach ($produtos as $produto) { $response[] = array_merge($produto->toArray(),['descricao'=>$produto->produtos] ); } } Alem da tabela de produtos, quero enviar junto, outras tabelas associadas. Ex: ImagensModel, TiposModel. Como posso faze...
ML
servicos rest  
Boa tarde,
Tenho um service Rest que retorna assim:

if ($produtos) { foreach ($produtos as $produto) { $response[] = array_merge($produto->toArray(),['descricao'=>$produto->produtos] ); } }


Alem da tabela de produtos, quero enviar junto, outras tabelas associadas. Ex: ImagensModel, TiposModel.

Como posso fazer?

Pacotão Dominando o Adianti Framework 7
O material mais completo de treinamento do Framework.
Curso em vídeo aulas + Livro completo + Códigos fontes do projeto ERPHouse.
Conteúdo Atualizado! Versão 7.4


Dominando o Adianti 7 Quero me inscrever agora!

Comentários (4)


MG

Adicione no seu array e no lado client você deverá capturar cada item.
Mas eu sugiro um serviço para cada tabela, pois se um dia precisar reutilizar ou até mesmo buscar apenas uma delas, você já terá os endpoitns definidos.
MA

Acredito que tem várias possibilidades para você fazer isso, mas pode colocar no seu toArray o retorno dos seus relacionamentos
  1. <?php
  2.    function toArray($attributes = [], $relationships=[])
  3.    {
  4.        $resource parent::toArray($attributes);
  5.      
  6.         if (isset(relationships['imagens']))
  7.          {
  8.             //se for um relacionamento de um para muitos
  9.            //suponhamos que você tenha um método para retornar suas imagens (array de objetos do tipo TRecord) 
  10.             $resource['images'] = array_map(function ($item) {
  11.                    return $item->toArray();
  12.               }, $this->images());
  13.          }
  14.    }
  15. ?>


Verifique a sitaxe, pois digitei tudo diretamente no editor do forum!
MA

Só pra completar coloque o retorno que esqueci no post logo acima!

  1. <?php
  2.    function toArray($attributes = [], $relationships=[])
  3.    {
  4.       
  5.        //.....
  6.        
  7.          return $resource;
  8.    }
  9. ?>


ML

Resolvido.
Muito obrigado Marcelo Gomes e Marcelo Alves.