Propel no tiene un estándar forma de hacer subconsultas como parte de un criterio.
Puede separar su consulta (obtener el valor con el que desea comparar primero y luego usarlo en la consulta original) o usar un CUSTOM
criterios con su subconsulta en su consulta propel.
He aquí un ejemplo de la segunda opción:
$c = new Criteria();
$subSelect = "cart.category > (
SELECT cart.category
FROM carts
WHERE carts.id = 3)";
$c->add(CartPeer::CATEGORY, $subSelect, Criteria::CUSTOM);
EDITAR: Aquí hay un ejemplo de la primera opción
// 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)
El único problema con esta opción es que estás haciendo dos consultas en lugar de uno, lo que puede afectar su rendimiento, pero depende de su aplicación, por supuesto.