gpt4 book ai didi

mysql - 当该表中的列不可用时如何按 ASC 进行排序

转载 作者:行者123 更新时间:2023-11-30 22:19:06 28 4
gpt4 key购买 nike

我的 Laravel 查询

$items = TypeServices::whereIn('id', $serviceIdEvent)
->select('id', 'code', 'name', 'min_price', 'max_price',
DB::raw('(select(priority) from priority WHERE priority.map_id = type_service.id AND priority.map_type_id = ' . $pageType . ' AND priority.occasion_id = ' . $occasionId . ') as priority'))
->orderBy(DB::raw('ISNULL(priority), priority'), 'ASC');

我正在从另一个名为 priority 的表中获取优先级。(我在 priority 表中也有 priority 列)

我在优先级表中保存了服务表的详细信息,但是当我第一次对某些服务进行优先级排序时,直到现在还没有优先级的服务会排在列表的第一位。

我希望那些直到现在还没有优先考虑的服务最终会出现。

最佳答案

在这种情况下,首先您应该使用 join。那么您不需要通过以下方式订购任何其他东西:

$items = TypeServices::whereIn('id', $serviceIdEvent)
->select('id', 'code', 'name', 'min_price', 'max_price', 'priority')
->join('priority', function ($join) use ($pageType, $occasionId) {
$join->on('priority.map_id', '=', 'type_service.id');
$join->on('priority.map_type_id', '=', DB::raw($pageType));
$join->on('priority.occasion_id', '=', DB::raw($occasionId));
})
->orderBy('priority');

关于mysql - 当该表中的列不可用时如何按 ASC 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37225887/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com