× Please submit new Bug Reports on GitHub: github.com/Jensen-Technologies/component-creator-issues/issues

Show on list view no longer working correctly

7 years 11 months ago #1470 by alex
I have a field J_SQL

It is a select of virtuemart products.

On the list view it always has shown the "selected" product. ie the value in the database.

Now, after my last rebuild the list view shows all the same product , which is the "lowest id" in the virtuemart product database.
Attachments:

Please Log in or Create an account to join the conversation.

7 years 10 months ago #1484 by Chris
I see same problem. I checked my database, data is saving correctly, but showing incorrectly on admin list view.

Please Log in or Create an account to join the conversation.

7 years 10 months ago #1485 by Chris
I was able to adjust the query in the list model, adding a left join, grabbing the correct data. Then I edited the view file, showing the "name" rather than the "id" of the field in question. This challenged my SQL skills, but solved the problem.

Please Log in or Create an account to join the conversation.

7 years 10 months ago #1487 by alex
so how did you solve this?

can you post it here?

Please Log in or Create an account to join the conversation.

7 years 10 months ago #1490 by Chris
Alex, Something like this...

let's say you have "items" and "parents". You want to show a list of items with the correct parent name.

Modify the query in the model, adding #__parents.name AS parentName in the select().
Modify the query further, adding a LEFT JOIN ON item.parent_id = #__parents.id.

Notice the parentName alias, this is important. I think I also aliased the table name simply to reduce typing, not important.

Now go into your view. Instead of displaying parent_id, display parentName. You probably don't have a "parentName" column in your #__parents table, that's ok, we created one on the fly with our alias.

I had to brush up on MySql joins as well as the JDatabase query() object.

As always for testing, in the model, before "return $query", add var_dump( $query->__toString() ); die; so that you can monitor the query. Cut and paste into PHPMyAdmin to test.

As an alternative, blow away the query found in the model, and write your own, might be simpler. Just remember to join "name" from the "parents" table as an alias.

That's as specific as I can explain, hope it helps.
The following user(s) said Thank You: Andres Maeso

Please Log in or Create an account to join the conversation.

Time to create page: 0.054 seconds
Powered by Kunena Forum

We use cookies so that you can place orders and we can provide a better service. You can control the use of cookies at the individual browser level. If you reject cookies, you may still use our website, but your ability to use some features or areas of our website may be limited.