首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按特定字符串的拉威尔顺序

按特定字符串的拉威尔顺序
EN

Stack Overflow用户
提问于 2016-08-01 09:31:46
回答 2查看 4.3K关注 0票数 3

我的PostgreSQL上有这样的数据:

背景

代码语言:javascript
运行
复制
id | Size
1  | small
2  | medium
3  | large

艺术

代码语言:javascript
运行
复制
id | name       | background_id
1  | Shine      | 1
2  | Sun        | 3
3  | Mountain   | 3

我想从小的(小的,中的,大的)中获得orderBy背景的艺术数据,用拉拉雄辩

代码语言:javascript
运行
复制
Art::with( [ 'background' => function( $background ) {
    $background->oderBy( DB::raw( "what is this?" ) );
} ] )->get();

怎么修呢?

代码语言:javascript
运行
复制
FIELD(type, 'S', 'M', 'L', 'XL')

没有用

EN

Stack Overflow用户

回答已采纳

发布于 2016-08-01 09:38:46

您可以使用CASE WHEN表达式和orderByRaw():

代码语言:javascript
运行
复制
$queryOrder = "CASE WHEN Size = 'small' THEN 1 ";
$queryOrder .= "WHEN Size = 'medium' THEN 2 ";
$queryOrder .= "ELSE 3 END";
Art::with('background')
->orderByRaw($queryOrder);
->get();
票数 6
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38695408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档