orderby 方法在 laravel 中使用 2 个案例

orderby method use 2 case in laravel

我可以在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 中写这个?

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

试试这个:

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