Столбец Laravel DataTables JSON, выходящий из символов
Попытка использовать Yajra DataTables в качестве реализации сервиса, и вот моя проблема:
У меня есть колонка JSON metas
Я строю столбцы таблицы на основе полей внутри этого столбца, например:
[ 'data' => 'date', 'name' => 'metas->date AS date', 'title' => 'Data' ],
Так что внутри метас у меня есть:
{
"date": "2018-09-17",
}
Когда я пытаюсь вернуть это в DataTable, он покидает квоты или избегает обратной косой черты. Таким образом, вывод выглядит так:
"Something"
или же "Something \"mmm?\ whatever!"
но должно быть справедливо Something
,
Пытался ->escapeColumns(false)
а также ->rawColumns(['date'])
а также ->rawColumns(['metas->date'])
и многое другое...
Ответ выглядит так:
{"draw":1,"recordsTotal":77,"recordsFiltered":77,"data":[{"id":43695,"nr":"18-036","date":"\"2018-09-17\""...
Как вы видите, у меня есть дополнительные кавычки в ответе около даты: обычно, если я возвращаю те же данные из БД с помощью ->toJson(), проблем не будет. Что-то не так с декодированием DataTables.
1 ответ
По умолчанию Laravel Datable применяет XSS-фильтр. Вам придется отключить его в столбце или во всем ответе.