Controller.find() with related data providers?

I have noticed what feels a bit like unusual behaviour with the Find (3.5.1). I have a form (via related tab panels) using inner joins to set up the relations.

  1. Find on Parent, Reduced Search on Related Child Record. Records search works fine. Here, the parent and child tables are on different tabs.

  2. If I put both parent and child data providers on one form I get this happening:

a) Case: I do the Find/search on the child table field first (ie - data provider is from the relationship) followed by a reduced search on the parent table’s data provider field. This works fine.

b) Case: I reverse the order from 2(a). This fails to perform the search properly. The first Find (parent table field) is ignored.

What I am doing is trying to put all my search data providers (parent and child tables/fields) on a common search form.

Should this technique work or am I breaking the rules here? I am thinking I might be breaking the rules since all of the data providers are on one form which I then put into “Find mode” … perhaps the SQL calls issued in this scenario do not fully honor the relationships behind the data providers.

I was hoping this method would work as it makes defining a search form fairly easy in this situation.

The Find/Search engine itself seems fine or Method 1) above would fail … which is not the case here at all.

To re-iterate: using the Find on the separate Forms (by clicking on the appropriate parent or child form and then doing the Find thing) works great.

Michael,

Finding via parent or related child fields should work regardless of the order when using reduced search.
I tried a small example (3.5.2) and it worked as expected.

Try create a small solution that reproduces your problem and create a case in the support system.

http://forum.servoy.com/viewtopic.php?t=6789

Rob

Rob,

The issue has disappeared in 3.5.2. Works great now!

Thanks

Michael