Skip to content

Instantly share code, notes, and snippets.

@flack
Created June 10, 2011 08:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save flack/1018463 to your computer and use it in GitHub Desktop.
Save flack/1018463 to your computer and use it in GitHub Desktop.
--Schema
<type name="org_openpsa_products_product" table="org_openpsa_products_product" parent="org_openpsa_products_product_group" parentfield="productGroup">
<property name="id" type="unsigned integer" primaryfield="id" />
<property name="productGroup" link="org_openpsa_products_product_group:id" type="unsigned integer" parentfield="productGroup"/>
</type>
<type name="org_openpsa_products_product_group" table="org_openpsa_products_product_group" upfield="up">
<property name="id" type="unsigned integer" primaryfield="id" />
<property name="up" upfield="up" link="org_openpsa_products_product_group:id" type="unsigned integer"/>
</type>
--Code:
$qb = org_openpsa_products_product_dba::new_query_builder();
$qb->add_constraint('productGroup', 'INTREE', 3);
--Generated SQL
midgard-core (pid:4999):(info): midgard_query_builder::add_constraint(...)
midgard-core (pid:4999):(debug):query=SELECT id,productGroup FROM org_openpsa_products_product WHERE productGroup=3 AND ((sitegroup in (0, 1) OR 0<>0) AND org_openpsa_products_product.metadata_deleted=0) ORDER BY productGroup,id
midgard-core (pid:4999):(debug):query=SELECT id,productGroup FROM org_openpsa_products_product WHERE productGroup IN (5,7,22,25) AND ((sitegroup in (0, 1) OR 0<>0) AND org_openpsa_products_product.metadata_deleted=0) ORDER BY productGroup,id
midgard-core (pid:4999):(debug):query=SELECT id,productGroup FROM org_openpsa_products_product WHERE productGroup IN (8,18,19,20,21,23) AND ((sitegroup in (0, 1) OR 0<>0) AND org_openpsa_products_product.metadata_deleted=0) ORDER BY productGroup,id
midgard-core (pid:4999):(debug):query=SELECT id,productGroup FROM org_openpsa_products_product WHERE productGroup IN (10,12,13,15,16,17,24) AND ((sitegroup in (0, 1) OR 0<>0) AND org_openpsa_products_product.metadata_deleted=0) ORDER BY productGroup,id
midgard-core (pid:4999):(info): midgard_connection::set_loglevel(...)
--Manual Query:
SELECT id
FROM `org_openpsa_products_product`
WHERE productGroup = 3
--Result:
"5"
"7"
"22"
"25"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment