【问题标题】:random selection from a table从表中随机选择
【发布时间】:2014-08-23 17:44:29
【问题描述】:

我需要帮助解决从表中随机选择的问题。该请求确实返回随机行,但每次都返回相同的结果,没有任何变化。这是代码。有什么帮助吗?

$count = $this->createQueryBuilder('u')
    ->select('COUNT(u)')
    ->from('BPQuizzBundle:Question','b')
    ->getQuery()
    ->getSingleScalarResult();

$qb2=$this->_em->createQueryBuilder();
$qb2->select('b')
    ->from('BPQuizzBundle:Question','b')
    ->where('b.id <=:rand')
    ->join('b.module','l', 'WITH', 'l.id = :id')
    ->setParameters(array('rand' => rand(1,$count),'id' => $module->getId()));

【问题讨论】:

    标签: php symfony select random


    【解决方案1】:

    实际上这不是处理随机元素的最佳方式。我宁愿获取所有可能的 id 并从结果表中选择一个随机 id。那可能会更好。

    或其他方法:设置 1 个结果的限制并在起始元素上添加一个 rand。

    $query
        ->setFirstResult($randomNumber)
        ->setMaxResults(1);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-03
      • 2021-07-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多