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

问题描述 投票:-2回答:2

我可以像这样在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
2个回答
2
投票

试试这个:

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

0
投票

这些数字背后有算法吗? ORDER BY LENGTH(`lang`), LENGTH(`quality`), views DESC可以做这个工作吗?

© www.soinside.com 2019 - 2024. All rights reserved.