Yii2 中按字段排序

2023-12-01

我遇到了这个问题,但没有找到 yii Instrument 的任何解决方案。有人知道如何解决这个问题吗?

最终,我使用了这个糟糕的代码

$params = [];
foreach ($recipeIds as $i => $recipeId) {
    $params[':id_'.$i] = $recipeId;
}

$recipes = Recipes::findBySql(
        'SELECT
            *
        FROM
            {{%recipes}}
        WHERE
            `id` IN ('.implode(', ',array_keys($params)).')
        ORDER BY
            FIELD (id, '.implode(',', array_reverse(array_keys($params))).')
        LIMIT
            :limit',
        $params + [':limit' => $this->count]
    )
    ->all();

如何用 ::find() 解决?

UPD:应该是这样

$recipes = Recipes::find()
    ->where(['id' => $recipeIds])
    ->orderBy(['id' => array_reverse($recipeIds)])
    ->limit($this->count)
    ->all();

尝试一下:

$recipes = Recipes::find()
    ->where(['in', 'id', $recipeIds])
    ->orderBy([new \yii\db\Expression('FIELD (id, ' . implode(',', array_reverse(array_keys($params))) . ')')])
    ->limit($this->count)
    ->all();

For use orderBy with FIELD (...) see https://github.com/yiisoft/yii2/issues/553

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

Yii2 中按字段排序 的相关文章

  • 如何在 Yii 2 中检索会话值

    当我将产品添加到购物车会话并获取会话购物车值时 我遇到了 Yii 2 会话的问题 session start print r SESSION exit 我得到了这条线 Array flash gt Array id gt 65 另外在尝试
  • 对象配置必须是包含 yii2 和 mongodb 中“class”元素的数组

    登录或注册时出现错误 gt yii2 mongodb给出一个错误 MongoDB 与 yii2 的连接已完成 请帮我解决这个问题 main local php return components gt mongodb gt class gt
  • 在 Yii2 中隐藏 URL 中的网页

    我已遵循中描述的答案这个问题 https stackoverflow com questions 27178364 yii 2 0 hiding basic web from the url along with the index php
  • 伊2。访问更高级别的文件夹

    简单的问题 我用Yii2高级模板 在apache I have DocumentRoot path www yii application1 frontend web 我怎样才能访问 www yii application1 uploads
  • 如何在 yii2 basic 中使用日期选择器?

    我想使用 yii2 datepicker 但我在实现它时遇到了麻烦 它不显示日期选择器 我不知道我的代码中缺少什么 我对这个yii还是个新手 div class row div class col lg 6 div class myproj
  • Yii2 错误:yii\base\UnknownMethodException:调用未知方法:yii\web\UrlManager::addRules()

    今天更新作曲家依赖项 使用作曲家更新命令 后 我的 Yii2 应用程序损坏了 它抛出未知方法 yii base UnknownMethodException 调用未知方法 yii web UrlManager addRules 检查后供应商
  • Bower/bower-asset 在 yii2 等 php 应用程序中扮演什么角色

    最近我部署了一些项目 例如trntv yii2 starter kit https github com trntv yii2 starter kit 等等 但所有应用程序都在 vendor bower 而不是 vendor bower b
  • Yii2:未找到(#404):无法找到标有“5578effb0790c4.13707485”的调试数据

    我在页面底部看到了这个 调试栏应该在哪里 问题是什么 这个请求 http localhost 81 xxx web debug default toolbar tag 5578f180963e82 28312577返回 404 我需要查看登
  • Yii2如何检查两个模型是否已经链接

    我有两个通过连接表关联的模型 model gt link 是用于建立两个模型之间关系的方法 它基本上用两个模型的相应键填充连接表 如果两个模型已链接并且我尝试再次链接它们 则会出现错误 因为密钥对已存在于连接表中 然后我需要在尝试链接模型之
  • yii2 作曲家更新致命错误

    当我更新我的作曲家以添加yii2 solr扩展我的项目时 我遇到如下错误 The yiisoft yii2 composer plugin requires composer plugin api 1 0 0 this WILL break
  • 如何禁用 yii2 ActiveFrom dropDownList 中的一项?

    Yii2 活跃形式 我想禁用选项2 gt 2 有办法做到吗 您可以使用 选项 键为下拉列表中的所有项目添加属性 假设您想禁用第二项 在文档中 http www yiiframework com doc 2 0 yii helpers bas
  • 关于 Yii2 RBAC 的疑惑

    到目前为止 我一直在使用 Yii 1 1 14 开发 Web 应用程序 但现在是时候进行升级了 我工作的公司开发了自己的访问控制系统 我对它真的很满意 直到我看到它到底是什么样子 数据库中8个表的组合 不包括用户表 还有一堆外键 1 个控制
  • 在 yii2 中搜索两个日期

    日期可以用不同的格式表示 表格本身看起来像这样 book varchar 250 NOT NULL date INT NOT NULL 现在我的问题是我无法在两个日期之间的范围内实现搜索 例如 有 5 本书 日期不同 但开始日期开始 在31
  • Yii2:ActiveController 中的 REST API 操作

    在文档指南中有示例 namespace app controllers use yii rest ActiveController class UserController extends ActiveController public m
  • yii2 中的自动完成

    在 Yii2 中 我希望当用户开始输入时 我的输入字段之一能够自动完成 下面是我的代码 它使用Jui Autocomplete 这是行不通的 当我打印我的数组时 我就像 Array 1 gt abc 2 gt xyz 4 gt pqr
  • 使用第三方库记录来自 PHP 应用程序的所有 cURL 请求

    好吧 我的 PHP Yii2 应用程序遇到了困难 我需要记录来自应用程序的每个传入和传出请求 传入的请求可以轻松地记录在 PHP 本身中 在引导阶段添加一些处理程序 这很容易 但真正的问题是我正在使用许多第三方库 即 Amazon MWS
  • Yii2 组件将数据传递给 __construct

    我有一个库 我想将其用作组件 在配置文件中我这样设置 components gt superLib gt class gt SuperLib construct gt first second Maybe Yii 2 have proper
  • Yii2 - 如何自动加载自定义类?

    我创建了以下自定义类 我想在我的 Yii2 应用程序中使用它 common components helper CustomDateTime php namespace common components helper class Cust
  • 尝试获取 yii2 中非对象的属性

    我想访问 hasMany 关系 但我收到此内容的错误 PHP 注意 yii base ErrorException 试图获取非对象的属性 这是我的观点 news index php div class row div class col m
  • Yii2:如何在ActiveRecord中设置默认属性值?

    这似乎是一个微不足道的问题 但是我能想到的所有明显的解决方案都有其自身的缺陷 我们想要的是能够仅为新记录设置任何默认的 ActiveRecord 属性值 使其在验证之前和验证期间可读 并且不会干扰用于搜索的派生类 一旦我们实例化该类 就需要

随机推荐

  • 内容安全政策阻止对 *://www.google.com/recaptcha/api 的请求

    鉴于此链接 看起来内联脚本例如用于在页面中插入验证码对象 通过
  • 无限自动播放滑块提前结束,并且不会无限循环

    对于我的个人作品集 我正在尝试用 CSS 制作一个 无限自动播放滑块 这是众所周知的很难做到 正如其他人告诉我的那样 现在 发生的情况是它在到达结束之前重新启动滑块 提前结束 而且它也不会无缝地返回到开始 就好像它从未结束一样 因此名称的无
  • PhantomJSDriver 适用于 HTTP,但不适用于 HTTPS

    public class FooTest WebDriver driver Before public void beforeTest DesiredCapabilities capabilities new DesiredCapabili
  • SQL Server - 数据库“数据库”不存在。确保名称输入正确

    我正在尝试从实体框架模型生成数据库表 但在执行生成查询时收到此错误 Database Database does not exist Make sure that the name is entered correctly 我能够很好地连接
  • R:从数据中获取符合条件的行?

    我有一个包含大量数据的 CSV 文件 如下所示 gt test csv lt read csv Desktop stats csv gt test csv m lvl a b c a pct b pct c pct d pct 1 5435
  • 播放内存流中的视频

    到目前为止找不到任何令人满意的答案 我正在开发一个 C WinForms NET3 5 应用程序 该应用程序需要从数据库 BLOB 加载视频文件并在应用程序窗口内播放 数据库是本地文件 不涉及服务器 我不认为将文件保存到硬盘驱动器是一个好的
  • CodeigniterWhere 子句

    不知怎的 对我来说构建这样的查询有点困难 给我所有链接名称不为空的导航条目 query this gt db gt get where navigation array linkname NULL 给我错误 where 子句 中的未知列 0
  • 在ArrayBlockingQueue中,为什么将final成员字段复制到局部final变量中?

    In ArrayBlockingQueue 所有需要锁的方法将其复制到本地final调用前的变量lock public boolean offer E e if e null throw new NullPointerException f
  • 在 shell 脚本中使用expect

    我需要传递两个参数给expect 第一个是要执行的命令 第二个是密码 这是我的期望 sh usr bin expect spawn lrange argv 0 0 expect password send lindex argv 1 int
  • OpenSSL 内存泄漏?

    我使用以下代码来检查签名 为了简单起见 公钥 消息和签名在中初始化main include
  • 在启动屏幕期间加载 MainActivity

    我目前有一个splashScreenActivity这需要用户按button去MainActivity 是否可以加载全部内容MainActivity WITHOUT MainActivity的 UI 出现在顶部splashScreenAct
  • 防止“点击”事件多次触发+淡入淡出问题

    早安各位 对我正在制作的简单 jQuery 画廊有疑问 它允许用户通过一些按钮循环浏览图像集合 同时在计时器上轮换这些图像 我的问题是 用户可以多次单击该按钮 这会将动画的淡入淡出排队并一遍又一遍地重复 例如用户点击按钮 5 次 gt 同一
  • 在 mac 上使用 gdb 在 eclipse 中调试 - 无法执行 MI 命令:-exec-run

    我有 Eclipse Kepler 和简单的 HelloWorld C 程序 我想在其中学习如何调试 C 程序 单击调试按钮时 我收到以下错误消息 最终启动顺序错误 执行MI命令失败 exec 运行 来自调试器后端的错误消息 无法找到进程
  • 需要 C# 构造函数语法解释

    有人可以向我解释以下构造函数语法吗 我以前没有遇到过它 并在同事代码中注意到它 public Service this Service DoStuff DoMoreStuff 它链接到同一个类中的另一个构造函数 基本上任何构造函数都可以ei
  • WP7 中的 HttpWebRequest 超时不适用于计时器

    由于 WP7 HttpWebRequest 不支持超时 因此我使用计时器来实现该功能 下面是一个例子 我从 UI 表单调 用 GetConnection 但在计时器时间结束之前 ReadCallback 永远不会执行 一旦计时器停止 就会触
  • PHP中的动态静态方法调用?

    请有 PHP 经验的人帮忙解决以下问题 在我的代码中的某个地方 我调用了非实例化类中的公共静态方法 result myClassName myFunctionName 但是 我希望有许多这样的类 并根据用户的语言动态确定正确的类名 换句话说
  • UISearchDisplayController 搜索多个数组

    目前 我正在使用表示名称 ID 等的多个数组的内容填充我的 tableviewcells 当我开始使用搜索显示控制器时 我的问题就出现了 我有一个数组 其中包含名称列表 ID 列表 条形码列表和别名列表 当用户在搜索栏中输入内容时 我需要能
  • Qt:像 Eclipse 一样拖放小部件以实现任意布局(拆分)

    我知道停靠小部件 拆分器等 我仍然想知道是否可以像 Eclipse 中那样创建灵活的拆分系统 当任何小部件根据拖动过程中光标的位置保持垂直或水平拆分时 例如 第一个小部件A占据了整个QMainWindow 第二个B首先在选项卡中打开 所以它
  • 这些数组有什么区别?

    var foo var bar new Array var another 另外 是否可以添加到foo像这样 foo obj new Date var foo foo是一个对象字面量 var bar new Array bar是一个通过初始
  • Yii2 中按字段排序

    我遇到了这个问题 但没有找到 yii Instrument 的任何解决方案 有人知道如何解决这个问题吗 最终 我使用了这个糟糕的代码 params foreach recipeIds as i gt recipeId params id i