当前位置: 首页 > 知识库问答 >
问题:

Laravel Php从mysql查询中获取随机结果[重复]

徐隐水
2023-03-14

我找不到在laravel mysql中显示集合随机结果的方法。我的问题是:

public function getTabletsProducts()
{
    return DB::table('products')
        ->orderBy('created_at')
        ->where('categoryName', 'All Tablets')
        ->where('sellingPrice', '<', 1000)
        ->take(6)
        ->orderByRaw("RAND()")
        ->get();
}

奇怪的是,我相信使用兰德可以完成这项工作,但我的结果显示使用与否(兰德)值相同。

谢谢你的帮助。

共有2个答案

吴宝
2023-03-14

我不确定,但我想那是因为你一开始拿了6样东西,然后随机点。所以你总是得到相同或接近的结果。如果我是你,我会试试这个:

public function getTabletsProducts()
{
return DB::table('products')
    ->where('categoryName', 'All Tablets')
    ->where('sellingPrice', '<', 1000)
    ->orderByRaw("RAND()")
    ->orderBy('created_at')
    ->take(6)
    ->get();
 }
郑波
2023-03-14

您应该使用take(6)-

 类似资料:
  • 问题内容: 这个问题已经在这里有了答案 : 十年前关闭。 可能重复: (My)Sql数据库中的简单随机样本 你好! 假设我有一个用户表。我想要一个可以改组结果并仅显示5个用户的查询。我如何在不使用任何PHP的MySQL查询中做到这一点? 问题答案: 可以使用,但是性能很差 我建议将所有用户ID的列表存储到序列化数组中,并缓存到磁盘文件中。(定期更新) 因此,您可以使用PHP取消对它的序列化,并使用

  • 问题内容: 我尝试使用和提取MySQL查询结果,并且将数值作为字符串返回。 有什么方法可以将数据存储为表中的数据类型吗? 该应用程序将查询许多不同的查询,因此我将无法基于1乘1将值强制转换为预期的数据类型。 问题答案: 我不认为可以在PHP 5.2 中以其本机数据类型 (即字符串的其他任何形式) 获取数据… 如果我没记错的话,在PHP 5.3中,当您使用新的 (在PHP > = 5.3中是新的)

  • 问题内容: 我有以下从数据库获取十六进制代码的函数 我的问题是我在回调函数中返回了结果,但getColour函数未返回任何内容。我希望getColour函数返回的值。 在我调用getColour的那一刻,它不返回任何内容 我尝试做类似的事情 但当然SELECT查询在返回值时已经完成 问题答案: 您只需要对回调中的db查询结果进行处理。就像。

  • 我有一个索引(名称:“index1”)指向ElasticSearch中的多个文档。 文档的格式(json)是- 下面是映射- 我在ES查询中哪里做错了?

  • 问题内容: 我正在尝试使用PDO从表中检索数据,只是我似乎无法向浏览器输出任何内容,只是得到了一个纯白页。 问题答案: 例。 这是您的dbc类 您的PHP页面:

  • 问题内容: 如果我的查询包含一个类,例如: 然后我迭代它,那里是一个类的对象。 那么如何从包含多个类的查询中获取结果呢?例如: 问题答案: for (Object[] result : query.list()) { User user = (User) result[0]; Group group = (Group) result[1]; }