Как это сделать:
SELECT t.id
FROM table t
JOIN (SELECT(FLOOR(max(id) * rand())) AS maxid FROM table)
AS tt
ON t.id >= tt.maxid
LIMIT 1
в Symfony? (Я знаю, как делать базовые вещи, но это слишком много.
$connection = Doctrine_Manager::getConnection()->getDbh();
не будет работать... Попробуйте следующее:
$connection = Doctrine_Manager::getInstance()->getCurrentConnection()->getDbh();
Тогда:
$stmt = $connection->query('SELECT * FROM some_table');
$stmt->execute();
$result = $stmt->fetchAll();
$connection = Doctrine_Manager::getConnection()->getDbh();
$result = $connection->query('SELECT ...');