Jay
November 30, 2021, 1:45pm
1
Hey, new to Cockpit and attempting to create a simple collection that outputs its response via JSON. I’ve managed to get the collection outputting however, it’s including all the extra fields that are not needed. How can I simplify the output to only contain the data that’s needed? In the example below I’d only need the name and ID, not the rest - Thanks
Also, to clarify I don’t need front end logic
{
"fields": {
"name": {
"name": "name",
"type": "text",
"localize": false,
"options": []
}
},
"entries": [
{
"name": "Test 1",
"_mby": "660f0251383462e460000106",
"_by": "660f0251383462e460000106",
"_modified": 1638271909,
"_created": 1638271909,
"_id": "6626ede866333931ea00024b"
},
{
I feel like this is a bit hacky, you can filter fields via URL like
api/collections/entries/collectionname?fields[_mby]=&fields[_by]=&fields[_modified]=&fields[_created]=
OR
api/collections/entries/collectionname?fields[name]=all&fields[_id]=all
There are two more methods to achieve it.
1
If you only want to grab a few fields, you can use graphql addon of Cockpit called CockpitQL
2
You can modify the entry fields with this below method.
My bad, I should have mentioned that populate only work with collectionLink.
And you can’t retrieve accountLink data with collection data at the same time. Maybe it could be the security reason.
Option 1
Fire one more API request with account ID to get the user data
Option 2
Ref answer by raffaelj: How to refer to another Collections or "Accounts" - #7 by raffaelj
create config directory in the root folder, under that directory create bootstrap.php file. Add the below codes. Make sure yo…