Symfony2 Doctrine get random product from a category

后端 未结 2 2169
生来不讨喜
生来不讨喜 2021-02-10 00:56

I have the following database scheme:

table \'products\'
id
category_id

and of course a category table, just with an id.

The data look

2条回答
  •  青春惊慌失措
    2021-02-10 01:51

    Use this helper function:

    counters[$class] = (int) $this->manager->createQuery(
                'SELECT COUNT(c) FROM '. $class .' c'
            )->getSingleScalarResult();
        }
        return $em
            ->createQuery('SELECT c FROM ' . $class .' c ORDER BY c.id ASC')
            ->setMaxResults(1)
            ->setFirstResult(mt_rand(0, $counters[$class] - 1))
            ->getSingleResult()
        ;
    }
    

    Example usage:

    $randomItem = getRandomDoctrineItem($em, 'Application\Entity\Post');
    

提交回复
热议问题