Propel har ikke en standard måde at lave underforespørgsler på som en del af et kriterium.
Du kan enten adskille din forespørgsel (få den værdi, du vil sammenligne med først og derefter bruge den i den originale forespørgsel) eller bruge en CUSTOM
kriterier med din underforespørgsel i din fremdriftsforespørgsel.
Her er et eksempel på den anden mulighed:
$c = new Criteria();
$subSelect = "cart.category > (
SELECT cart.category
FROM carts
WHERE carts.id = 3)";
$c->add(CartPeer::CATEGORY, $subSelect, Criteria::CUSTOM);
EDIT: Her er et eksempel på den første mulighed
// 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 eneste problem med denne mulighed er, at du laver to forespørgsler i stedet for en, som kan ramme din præstation, men det afhænger selvfølgelig af din anvendelse.