Skuid Platform field not showing when condition is related to another model

Hello, I have a field that will not show in a table component with a filter condition to another model by its ID, but it will display if I put the same ID value into a UI field first and then join by the UI field.

Example:

  • Contract model with a field for student id
  • Student model with id and uuid fields
  • Student table component with id and uuid fields
  • Use a condition on the Student table where the id is equal to contract.studentid field

Result: only the id field shows in the table, not the uuid

Work around that works:

  • Create UI field for the student id
  • Update UI field with the contract.studentid value
  • Use filter condition on student model where the id is equal to ui.studentid

Result: both the id and uuid field show in the table

I can’t figure out what the issue is. Any ideas?

IIRC this is a PostGres datasource on Skuid Platform. There is no Salesforce at all here. Right?

In the PostGres datasource - are there any DataSource Conditions on these fields?

If you review the model in the developer console - are both fields populated there? ( In developer console type “skuid.debug.model(‘Student’).data” to see a representation of all the data available.

Are your field types matching. Are they all UUID’s or are some Strings?

Thanks as always, Rob. Yes. This is postgresql only. The only condition on the data source is where is_deleted is false. The data types in postgresql are identical (big int). The field type in the skuid datasource is a reference (to student object) in the contract object and integer in the student object. The uuid field that I am trying to display is a datatype of uuid in postgresql and in skuid datasource. Again, everything works perfectly if I take the studentid from contract and put it in a UI field, then make the condition in the student model filtered by the UI field (it is number field since the underlying datatype is big int). Apologies, I haven’t learned my way around the dev console yet.

I think I figured this out… My understanding was the models loaded in the order they appear. Therefore, if I had a model that loaded after, the data from the model before would already be there and I could used it to filter. It wasn’t working, so I put the data into a UI field and then filtered and it worked. The issue appears to be timing/sequence. When I uncheck the field to “Request data in the same transfer as other models,” uncheck the “Query on page load,”, then make a model action on the parent model initiating an event “Model requeried” with an action to query the child model, it works.