Propel har ingen standard sätt att göra delfrågor som en del av ett kriterium.
Du kan antingen separera din fråga (skaffa värdet du vill jämföra mot först och sedan använda den i den ursprungliga frågan) eller använda en CUSTOM
kriterier med din underfråga i din framdrivningsfråga.
Här är ett exempel på det andra alternativet:
$c = new Criteria();
$subSelect = "cart.category > (
SELECT cart.category
FROM carts
WHERE carts.id = 3)";
$c->add(CartPeer::CATEGORY, $subSelect, Criteria::CUSTOM);
EDIT: Här är ett exempel på det första alternativet
// find the object we want to compare against
$c = new Criteria();
$c->add(CartPeer::ID, 3);
$cart = CartPeer::doSelectOne($c)
// then make the actual criteria
$c = new Criteria();
$c->add(CartPeer::CATEGORY, $cart->getCategory(), Criteria::GREATER_THAN)
Det enda problemet med det här alternativet är att du gör två frågor istället för en, vilket kan påverka din prestation, men det beror förstås på din applikation.