从前 100 行中随机抽取 10 行

2023-12-07

使用 Laravel Eloquent,如何从前 100 行中随机抽取 10 行(按日期排序)。

例如,我有这个:

$comments = Comment::orderBy('created_at', 'DESC')
    ->take(100)
    ->inRandomOrder()
    ->get();

如何更改此设置,以便从选定的 100 行中随机抽取 10 行?有没有办法做到这一点,这样我就不必检索 100 行?


1 - inRandomOrder()速度真的很慢,所以我不建议你使用它。

2 - take(100)->random()解决方案总会得到100rows 存入内存,然后才会得到 10 个随机行。您提到当集合中只有 5 个项目时您会收到错误,因此请改用以下代码:

$comments = Comment::latest()->take(100)->get();
$count = $comments->count() > 9 ? 10 : $comments->count();
$random =  $comments->random($count);

3 - 如果此查询在您的应用程序中经常执行,我建议您创建额外的列sort并用计划任务更新此列。设置 1 到 100 个整数作为值sort每天或几个小时的专栏。将这些数字应用于表中最新的 100 行,其他行设置为 0。

然后您将能够通过快速查询获得最新的随机 10 行:

$comments = Comment::orderBy('sort')->take(10)->get();

它看起来像复杂的解决方案,但在高负载系统上它是最好的选择之一。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从前 100 行中随机抽取 10 行 的相关文章

  • Laravel 总结雄辩集

    如何对已预先加载的数据集求和 这是我的表结构 regions table Field Type Null Key Default Extra id int 10 unsigned NO PRI NULL
  • Blade 如何处理脚本调用?

    大家好 我在脚本调用方面遇到问题 我在 Laravel 中使用 Blade 除了支持搜索和排序功能的脚本调用之外 一切都正常工作 这是我的层次结构和相应的相关代码 main blade php div class page containe
  • Laravel - 获取每个 UID 类型的最后一个条目

    我有一个表 其中包含 1000 多种不同产品的 100 个条目 每个条目都由唯一的 UID 标识 ID UID MANY COLUMNS CREATED AT 1 dqwdwnboofrzrqww1 2018 02 11 23 00 43
  • 使用 nuxtjs 登录 laravel sainttum 后出现 401(未经身份验证)错误

    我已经安装了 laravel v 7 30 4 nuxtjs v 2 15 7 当我使用 nuxtjs auth 模块登录我的 laravel sainttum 后 当 nuxt 尝试获取用户时 laravel 响应 401 错误 未经身份
  • 如何根据状态从父表和子表获取数据,其中外键每行具有不同的状态

    我有 2 个具有外键关系的表 情况是我有一个case and a case有很多revisions 和每个revision有自己的status 如果仅更改外键表状态的特定行 我想获取父表数据和子数据 Table Case id case n
  • after_or_equal 验证在 laravel 5.2 中不起作用

    我想比较 start date 和 end date 并且 end date 应等于或大于 start date 我正在使用 after or equal 验证 return Validator make data start date g
  • 将资源文件链接到 Laravel4 中的视图

    您好 我是新手 正在学习 laravel 4 创建应用程序 我正在尝试使用 laravel Blade 将 twitter bootstrap3 文件链接到视图 我安装了一个新的 laravel 应用程序文件夹 为了从 url 路径中删除
  • 每 30 秒运行一次 Laravel 方法

    我有一个在我调用应用程序上的特定 URL 时运行的方法 它处理数据库队列中的行 该间隔被设置为 Cron 可能的最小间隔 即 1分钟 这需要减少到 30 秒 所以我想知道如何最好地实现这一目标 我想我可以在我的脚本中构建一个循环 运行代码两
  • https 重定向 laravel .htaccess 之后删除 /public

    我有一个 Laravel 页面部署在共享主机中 当我强制 http 请求重定向到 https 时 url 包含 public 我的根 htaccess 是 RewriteEngine on RewriteCond REQUEST URI p
  • 使用 Laravel Socialite 登录 facebook

    然而 我是 Laravel 的新手 我正在遵循以下教程http www codeanchor net blog complete laravel socialite tutorial http www codeanchor net blog
  • 将我的 Laravel 连接到外部数据库

    如何将 Laravel 连接到外部数据库 示例 我的本地计算机上有一个 Laravel 它在 xampp 上运行 我希望它连接到云服务器数据库 打开 env文件并编辑它 只需设置正确的外部数据库凭据 DB CONNECTION mysql
  • 你可以拥有你的 API 并在 Laravel 中使用它吗?

    我制作了一个在 Laravel 中返 回 json 的 API 路线 api php 现在我想在我的内部使用所述APIweb项目的一侧 路线 web php 包括中间件 刀片视图 etc 我当前的解决方案是这样的 public functi
  • Laravel 5 命名约定

    我对 Laravel 约定有点困惑 因为我是这个框架的新手 我正在关注 Jeffrey Way 他使用的 Laracasts 视频Plural对于控制器名称 E g 页面控制器 卡片控制器 帖子控制器 但如果我参考官方文档Laravel g
  • Laravel 4 删除默认 getIndex 控制器函数上的 /index

    是否可以删除默认 getIndex Restful 控制器功能上的 index 控制器定义的路线 Route controller registration RegisterController array getIndex gt getR
  • Laravel - 删除整个集合

    我有文章的图像 当我更新文章时 我想检查图像是否相同 如果不是 我想删除它们 但如果可能的话 我想删除整个集合而不进行其他查询 诸如此类就像我在下面的代码中一样 images gt delete 这是我的功能 images Media wh
  • 如何使用 Laravel Collective 在表单标签中包含 html?

    通读一遍这个所以线程 https stackoverflow com questions 24361160 radio and checkbox inside label with laravel我读到我可以创建一个新的宏来创建自定义表单输
  • 如何在 Laravel 中编写联合查询?

    我正在使用 laravel 5 0 并且我有 mysql 查询 SELECT surat masuk id surat surat masuk nomor surat FROM surat masuk WHERE EXISTS SELECT
  • Laravel 5 / Codeception 未正确路由

    我正在尝试使用代码接收为控制器函数编写 API 测试用例 但遇到了一个问题 即控制器函数的路由似乎未正确评估 并且评估似乎根据我的不同而不同我的测试用例中有 这是我的测试用例中的代码示例 use ApiTester class Custom
  • 找不到类“App\Http\Controllers\Auth\User”

    我该如何解决这个 Laravel 错误 Class App Http Controllers Auth User not found 我正在为博客创建一个寄存器 并且使用以下内容 User create name gt request gt
  • Laravel Blade 比较两个日期

    我想比较 2 个日期 因此 我在模板刀片中创建了这样的条件 if Carbon Carbon parse contrat gt date facturation gt format d m Y lt dateNow td class dan

随机推荐

  • 了解 apache Airflow 中的树视图

    我从以下位置设置了 daghttps airflow apache org tutorial html照原样 唯一的变化是我将 dag 设置为以 5 分钟的间隔运行 开始日期为 2017 12 17 T13 40 00 UTC 我在 13
  • 持久的客户端网络存储

    我们正在开发内部基于网络的应用程序 用于在智能手机和平板电脑上查看数据报告 我们的客户询问我们是否可以只允许某些设备访问该内容 因此 我们使用基于 javascript HTML5 的技术 我们无法读取 IMEI 或设备 uuid 等唯一
  • Html 元素中的管道翻译

    所以 不知道是否有人可以帮助我 我在 html 中有以下代码行
  • 如何使用 Java 解压存储在 HDFS 中的文件,而不先复制到本地文件系统?

    我们将包含 XML 文件的 zip 文件存储在 HDFS 中 我们需要能够使用 Java 以编程方式解压缩文件并流式传输所包含的 XML 文件 FileSystem open 返回 FSDataInputStream 但 ZipFile 构
  • 父级是内联块,子级有%填充=奇怪的行为

    我做 CSS 一段时间了 但不明白这里发生了什么 感觉真的很愚蠢 你能解释一下这种行为吗 parent display inline block child border 2px solid red padding 20px this wo
  • 给定的数字位于哪个段? [复制]

    这个问题在这里已经有答案了 假设有n 整数 连续的长度段l 浮点 那是 Segment 0 0 l Segment 1 l 2 l Segment 2 2 l 3 l Segment n 1 n 1 l n l 给定一个数字x 浮点 我想确
  • Flume HDFS Sink 在 HDFS 上生成大量小文件

    我有一个使用 Flume 向 HDFS 发送 log4j 消息的玩具设置 我无法配置 hdfs 接收器以避免出现许多小文件 我以为我可以配置 hdfs 接收器在每次文件大小达到 10mb 时创建一个新文件 但它仍然创建大约 1 5KB 的文
  • 通过 PHP 在电子邮件中发送 HTML

    如何使用 PHP 发送带有图片的 HTML 格式的电子邮件 我想要一个包含一些设置和 HTML 输出的页面 该页面通过电子邮件发送到某个地址 我应该怎么办 主要问题是附加文件 我怎样才能做到这一点 这很简单 将图像留在服务器上并将 PHP
  • 如何序列化包含 BufferedImages 的对象

    我正在尝试用 java 创建一个简单的图像编辑程序 我做了一个ImageCanvas包含有关正在编辑的图像的所有信息的对象 一些基本属性 正在应用的效果列表 BufferedImage层等 我想要一种简单的方法将其保存到磁盘 以便稍后可以再
  • 使用sync.WaitGroup和通道的Golang应用程序永远不会退出

    I use sync WaitGroup defer wg Close and wg Wait 等待我的 goroutine 完成 该程序确实会等待 但它永远不会退出 这是我的程序 可运行 package main import fmt i
  • Wix 中的自定义操作来操作字符串并设置属性

    您好 我正在使用 Wix 创建一个安装程序 该安装程序必须使用安装程序在用户系统上复制的文件的路径写入注册表值 问题是注册表项应该按这种格式编写 file C Program Files 在 Wix 代码项目中 我有 INSTALLFOLD
  • Android:点击按钮时出现吐司

    我对 Android 相当陌生 刚刚熟悉常见的东西 但我无法掌握 onClickListner 的窍门 我基本上有两个复选框和一个按钮 单击按钮时应该会显示一个吐司 并说明哪些复选框已选中 哪些未选中 public class ExActi
  • 需要解码算法

    我定期收到编码的 PDF 文件 编码的工作原理如下 PDF 可以在 Acrobat Reader 中正确显示 选择全部并通过 Acrobat Reader 复制测试 并粘贴到文本编辑器中 将显示内容已编码 所以 例子是 13579 gt 3
  • PHP session_start错误(找不到这样的文件或目录)

    我对 PHP 相当陌生 我正在尝试创建一个登录系统 其中用户名通过会话存储在 PHP cookie 中 因此 通过视频教程我了解到我使用 session start 启动 cookie 会话 然后在满足条件时设置变量 我正在使用 XAMPP
  • Django REST:如何使用自定义声明将 SimpleJWT 访问和刷新令牌作为 HttpOnly cookie 返回?

    我想发送SimpleJWT access and refresh代币通过HttpOnly曲奇饼 我已经定制了索赔 我定义了一个post 方法中的MyObtainTokenPairView TokenObtainPairView 我正在其中设
  • 如何将 LDAP 用户与 Grails 中 Spring Security 创建的 PERSON 表集成?

    我们正在创建一个 grails 应用程序 我们希望用户使用其 Active Directory 凭据登录 此外 我们希望使该应用程序的企业所有者能够控制谁有权访问某些链接 操作 因此 我们在 grails 应用程序中使用以下插件 Sprin
  • 将高级自定义字段添加到 WooCommerce 产品变体

    我正在使用名为的插件高级自定义字段 ACF 和 WooCommerce 我想为 WooCommerce 产品变体创建一个文本和图像字段 我在 ACF 中创建了字段并将它们分配给 Post Type gt product variation
  • 使用 Selenium 在 InPrivate 模式下打开 Edge

    我正在使用 Selenium 3 4 来使用 Microsoft WebDriver 启动 Edge 该 WebDriver 现在由 Microsoft 维护 有什么方法可以使用 Selenium 以 InPrivate 模式启动浏览器吗
  • 不允许使用外括号的表达式语法

    对于涉及二元运算符 gt 的表达式 我有以下语法 expression expression BITWISE OR xor expression xor expression xor expression xor expression BI
  • 从前 100 行中随机抽取 10 行

    使用 Laravel Eloquent 如何从前 100 行中随机抽取 10 行 按日期排序 例如 我有这个 comments Comment orderBy created at DESC gt take 100 gt inRandomO