La fonction de suggestion automatique permet d'affiner rapidement votre recherche en suggérant des correspondances possibles au fur et à mesure de la frappe.
HubDB filter using selectattr and foreign id for another table
Résolue
I have a page displaying data from a HubDB table. It needs to be grouped by category. The categories are stored in another HubDB table. I can get this working using multiple hubdb_table_rows functions and filtering like below:
Problem is as there are more than 10 categories I hit the table scans limit. I'd prefer to do one hubdb_table_rows and use selectattr but I can't get this working with a foreign id column type. Any ideas?
You could loop through the categories table, within that loop through your main table, and then use an if statement to find rows containing the currently looped category.
{% set rows = hubdb_table_rows(tableid) %}
{% set categories = hubdb_table_rows(tableid) %}
{# Loop through categories table #}
{% for category in categories %}
<h2>{{ category.name }}</h2>
{# Loop through main table #}
{% for row in rows %}
{# Check if row contains category #}
{% if category.name is within row.categories|map('name') %}
<p>{{ row.title }}</p>
{% endif %}
{% endfor %}
{% endfor %}
If this answer solved your question, please mark it as the solution.
You could loop through the categories table, within that loop through your main table, and then use an if statement to find rows containing the currently looped category.
{% set rows = hubdb_table_rows(tableid) %}
{% set categories = hubdb_table_rows(tableid) %}
{# Loop through categories table #}
{% for category in categories %}
<h2>{{ category.name }}</h2>
{# Loop through main table #}
{% for row in rows %}
{# Check if row contains category #}
{% if category.name is within row.categories|map('name') %}
<p>{{ row.title }}</p>
{% endif %}
{% endfor %}
{% endfor %}
If this answer solved your question, please mark it as the solution.