-
Notifications
You must be signed in to change notification settings - Fork 13
Closed
Labels
Description
Eu tenho uma tabela topics
com os campos id
, name
, picture
.
Eu quero obter o JSON paginado, mas sem a coluna picture
. Como faço isso?
Código usado atualmente: https://gist.github.com/almino/227707baa21037fbe3c4bdd95308515c
Resultado:
{
"data":[
{
"id":1,
"name":"Cimento de On\u00f4metro de Vidro",
"picture":"data:image\/jpeg;base64,\/9j\/4AAQSkZJRgA...wDMhCEV\/9k=",
"created_at":{
"date":"2017-09-24 17:23:25.000000",
"timezone_type":3,
"timezone":"America\/Fortaleza"
},
"updated_at":null
}
],
"links":{
"first":"http:\/\/app.dev\/api\/topics?page=1",
"last":"http:\/\/app.dev\/api\/topics?page=1",
"prev":null,
"next":null
},
"meta":{
"current_page":1,
"from":1,
"last_page":1,
"path":"http:\/\/app.dev\/api\/topics",
"per_page":15,
"to":1,
"total":1
}
}
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
Select code repository
Activity
deleugpn commentedon Sep 24, 2017
Tira picture do array no Resource?
almino commentedon Sep 24, 2017
Tirar
picture
do Resource vai afetar todas as vezes que eu for usar o resource individualmente.davidrtpereira commentedon Sep 24, 2017
No model, é possível reescrever a variável $hidden, que é um array de colunas que você deseja esconder.
Desta maneira é só colocar
protected $hidden = ['picture'];
No respectivo model desta coluna.
almino commentedon Sep 25, 2017
Isso irá ocultar de todos os lugares. Eu queria ocultar somente numa rota específica.
zabaala commentedon Sep 25, 2017
Cria um outro TopicCollection, que retorna um outro Topic resource, com a estrutura que você quer.
Isso claramente é um caso de uso. Sua implementação deve ser baseada nesta necessidade.
deleugpn commentedon Sep 26, 2017
Achei o assunto bem mais interessante do que aparentava. Escrevi um artigo sobre o tema.
https://medium.com/@deleugpn/hiding-api-fields-dynamically-laravel-5-5-82744f1dd15a
almino commentedon Sep 29, 2017
A alternativa do @zabaala funciona, mas não parecia elegante. Obrigado, @deleugpn.
omarkdev commentedon Oct 2, 2017
O problema já foi solucionado no artigo do @deleugpn, estou fechando esta issue por enquanto.