są sobie dwie tabele:
<table name="products">
<column name="id" type="INTEGER" primaryKey="true" required="true" autoIncrement="true"/>
<column name="id_category" type="INTEGER" required="true"/>
<column name="name" type="VARCHAR" size="255" required="true"/>
<column name="id_price_type" type="INTEGER" required="true"/>
<column name="is_active" type="BOOLEAN" default="0"/>
<foreign-key name="fk_products_price_type" foreignTable="price_type">
<reference local="id_price_type" foreign="id"/>
</foreign-key>
<foreign-key name="fk_products_category" foreignTable="category">
<reference local="id_category" foreign="id"/>
</foreign-key>
</table>
<table name="product_photo">
<column name="id" type="INTEGER" primaryKey="true" required="true" autoIncrement="true"/>
<column name="id_products" type="INTEGER" primaryKey="true" required="true"/>
<column name="file" type="VARCHAR" size="255" required="true"/>
<column name="is_default" type="BOOLEAN" required="true"/>
<foreign-key name="fk_product_photo_products" foreignTable="products">
<reference local="id_products" foreign="id"/>
</foreign-key>
</table>
Jak pobrąc wszystkie produkty określonej kategorii z dołączonym "domyślnym" zdjęciem

próbowałem:
<?php
$c = new Criteria();
$c->add( ProductsPeerID_CATEGORY, $id_category);
$c->addJoin(ProductPhotoPeerID_PRODUCTS, ProductsPeerID);
$c->add(ProductPhotoPeerIS_DEFAULT, 1);
?>
niestety nie zwraca tego co chce
polecenie addJoinAll dołącza mi tylko PriceType i Category

ktoś ma jakiś pomysł ?

ODP: jedno piwko więcej i przyszło mi do głowy takie rozwiązanie:<?php
$c = new Criteria();
$c->addJoin(ProductsPeerID, ProductPhotoPeerID_PRODUCTS);
$c->add(ProductPhotoPeerIS_DEFAULT, 1);
$c->add( ProductsPeerID_CATEGORY, $id_category);
return ProductPhotoPeerdoSelectJoinAll($c);
?>
jak ktoś zna lepsze rozwiązanie to czekam

mi i innym może się przydać
Ten post edytował yankes 22.09.2008, 21:16:31