Я использую Laravel: 5.7, MS-SQL: 2012.
Собираюсь сделать собственный заказ By перед запуском -> get () из MS SQL
Мой код приведен ниже:
$MonthOrder = implode(',', ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']);
$listData->orderByRaw(DB::raw("FIELD(t2.Month, $MonthOrder) DESC"))
Я получаю эту ошибку:
SQL:
select * from [dbo].[EXT_Data_DESC_Gamingdatas] as [t2]
inner join (
select MAX(id) AS id, [Year], [Month], MAX(updated_at
) AS updated_at
from [EXT_Data_DESC_Gamingdatas] group by [Year], [Month]
)
max_table on [max_table].[id] = [t2].[id] and [max_table].[updated_at] = [t2].[updated_at]
order by [t2].[Year] desc, FIELD(t2.Month, Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec) DESC)
SQLSTATE [42000]: [Microsoft] [ODBCДрайвер 11 для SQL Server] [SQL Server] 'FIELD' не является распознанным именем встроенной функции
.
Как решить эту проблему?Я не могу найти подходящего ответа ...