I have several instances in my app where I’d like to automatically load a record from an external collection and make it available for a screen, as well as subsequent screens. For example… I want to keep a bunch of text strings for the app in an external record. So I have a collection called MiscText with one, and only one, record. I’d like to have that available throughout my app. I can do that by making a list of MiscText, basically hide the actual selection, and use that to provide the record to the subsequent pages. But I’d rather NOT have to do that. Later in the app I have a list created with an external collection based on a ‘join table’. Again, I’d like to use an ID from that join table to load a record, but to do that I have to make a list of objects, filter by that value, and force another selection make the record load. So… Is there any way to somehow ‘force’ a record to be available for a screen, other than selecting it from a list of the collection?
Another example that maybe others will relate to…
Let’s say I have two collections with a many-to-many relationship, such as Readers and Books. In an external Airtable collection I may design a ‘join table’ named ReadersBooks to relate records from those two tables. So now, in Adalo, I start by logging in my user, and I somehow associate that user with a single record in the Readers table. I now want to display a list of their Books. Due to the limitations of Airtable’s API functions (there is no IsInArray or anything like that, unfortunately) I have to display a list of ReadersBooks records and filter by my Reader. Cool. I get a list of Books that I can display because I’m filtering on a real field, not a lookup field. Now I want to have the user select a Book and go to a new screen with the book details. But in Adalo I can’t do that. There’s no way for me to get the BookID from the selection and automatically fill a Books record for use in the next screen. I have to go to a new screen, create a dummy list of Books, filtered so that it contains just that one book, and have the user somehow secretly select that list item, and THEN move on to yet another new screen with the Books record populated.
I’ve seen some workarounds on the Airtable side where people manipulate the lookup field array values to create a single delimited string value, and then use FIND or SEARCH, but that seems riddled with possible issues, not the least of which would be performance and/or max string length issues. So it seems nearly impossible to filter an Airtable collection using one of the lookup fields, which pretty much kills the awesome utility of Airtable lookup fields.
Am I missing something? Is there some other way around this type of issue? This is absolutely killing possible functionality and flow in multiple places in my app. I’m hoping somebody has some gold nuggets out there! Thanks in advance for any help!
This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.