są sobie dwie tabele:

  1. <table name="products">
  2.    <column name="id" type="INTEGER" primaryKey="true" required="true" autoIncrement="true"/>
  3.    <column name="id_category" type="INTEGER" required="true"/>
  4.    <column name="name" type="VARCHAR" size="255" required="true"/>
  5.    <column name="id_price_type" type="INTEGER" required="true"/>
  6.    <column name="is_active" type="BOOLEAN" default="0"/>
  7.    <foreign-key name="fk_products_price_type" foreignTable="price_type">
  8.      <reference local="id_price_type" foreign="id"/>
  9.    </foreign-key>
  10.    <foreign-key name="fk_products_category" foreignTable="category">
  11.      <reference local="id_category" foreign="id"/>
  12.    </foreign-key>
  13.  </table>



  1. <table name="product_photo">
  2.    <column name="id" type="INTEGER" primaryKey="true" required="true" autoIncrement="true"/>
  3.    <column name="id_products" type="INTEGER" primaryKey="true" required="true"/>
  4.    <column name="file" type="VARCHAR" size="255" required="true"/>
  5.    <column name="is_default" type="BOOLEAN" required="true"/>
  6.    <foreign-key name="fk_product_photo_products" foreignTable="products">
  7.      <reference local="id_products" foreign="id"/>
  8.    </foreign-key>
  9.  </table>



Jak pobrąc wszystkie produkty określonej kategorii z dołączonym "domyślnym" zdjęciem questionmark.gif

próbowałem:

  1. <?php
  2. $c = new Criteria();
  3. $c->add( ProductsPeerID_CATEGORY, $id_category);
  4. $c->addJoin(ProductPhotoPeerID_PRODUCTS, ProductsPeerID);
  5. $c->add(ProductPhotoPeerIS_DEFAULT, 1);
  6. ?>


niestety nie zwraca tego co chce

polecenie addJoinAll dołącza mi tylko PriceType i Category smile.gif

ktoś ma jakiś pomysł ? smile.gif



ODP: jedno piwko więcej i przyszło mi do głowy takie rozwiązanie:


  1. <?php
  2. $c = new Criteria();
  3. $c->addJoin(ProductsPeerID, ProductPhotoPeerID_PRODUCTS);
  4. $c->add(ProductPhotoPeerIS_DEFAULT, 1);
  5. $c->add( ProductsPeerID_CATEGORY, $id_category);
  6. return ProductPhotoPeerdoSelectJoinAll($c);
  7. ?>



jak ktoś zna lepsze rozwiązanie to czekam smile.gif mi i innym może się przydać smile.gif