Doctrine团队不愿意实施此功能。
有几种解决方案,每种都有其缺点:
添加一个自定义数字函数:请参见此DQL RAND()函数
(如果您有很多匹配的行,可能会很慢)使用本机查询 (我个人试图避免这种解决方案,但我发现这种解决方案难以维护)
首先发出原始SQL查询以随机获取一些ID,然后
WHERe x.id IN(?)
通过将ID数组作为参数传递,使用DQL 加载关联的对象。 该解决方案涉及两个单独的查询,但 可能会 比第一个解决方案具有更好的性能(不ORDER BYRAND()
存在其他原始SQL技术,在此不做详细介绍,您可以在该网站上找到一些不错的资源)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)