【问题标题】:orderby method use 2 case in laravelorderby 方法在 laravel 中使用 2 案例
【发布时间】:2018-01-01 09:55:18
【问题描述】:

我可以在 laravel 中使用 orderby 方法 像这样

return $this->hasMany('Link')->orderBy('quality', 'desc');

没关系,我想这样使用

CASE `lang`
         WHEN 'a' THEN 1
         WHEN 'as' THEN 2
         WHEN 'asd' THEN 3
         END
,CASE `quality`
         WHEN 'd' THEN 1
         WHEN 'ds' THEN 2
         WHEN 'dsa' THEN 3
         WHEN 'dsaa' THEN 4
         WHEN 'dsaaa' THEN 6
         WHEN 'dsaaaa' THEN 7
         WHEN 'dsaaaaa' THEN 8
         WHEN 'dsaaaaaaaaa' THEN 9
         WHEN 'dsaaaa' THEN 10
         END,views DESC

我如何在 laravel 中写这个?

【问题讨论】:

    标签: php sql laravel sql-order-by case


    【解决方案1】:

    试试这个:

    ->orderByRaw("CASE WHEN <CONDITION> THEN <column1> ELSE <column2> END DESC")
    

    【讨论】:

      【解决方案2】:

      这些数字背后有什么算法吗? ORDER BY LENGTH(`lang`), LENGTH(`quality`), views DESC 可以完成这项工作吗?

      【讨论】:

      • 是表格行
      • 什么是表格行?您如何确定哪个数字用于存储在langquality 中的哪些数据?
      猜你喜欢
      • 1970-01-01
      • 2016-10-12
      • 1970-01-01
      • 2019-04-25
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 2015-05-31
      • 1970-01-01
      相关资源
      最近更新 更多