Laravel Yajra Datatables [объект Объект] + столбец свойств / laravel -activitylog (json) - PullRequest
0 голосов
/ 22 апреля 2020

Я строю таблицы данных (яджра) для рисования данных из таблицы spatie/laravel-activitylog базы данных. Пока все работает нормально, но столбец properties в базе данных - json. Что ж, если я нарисую json непосредственно в datatable, я получу [объект объекта]. Можно ли каким-либо образом выполнить предварительное подтверждение json в столбце спецификаций c?

Код столбцов данных:

columns: [
    { data: 'causer_type' },
    { data: 'causer_id' },
    { data: 'subject_type' },
    { data: 'subject_id' },
    { data: 'description' },
    { data: 'properties' },
    { data: 'created_at' },
    { data: 'updated_at' },
],

Функция контроллера:

// Get data
$dump = Activity::all();
// Return datatable
return DataTables::of($dump)->make(true);

An пример дампа properties:

"properties":{"old":{"email":"---","phone":"---","active":"1","country":"---","client_name":"---","date_of_birth":null,"delivery_town":"---","partner_number":null,"delivery_address":"---","delivery_zipcode":"---","facebook_profile":null,"partner_password":"---","personal_id_number":null,"accept_notifications":"1"},"attributes":{"email":"---","phone":"---","active":"1","country":"---","client_name":"---","date_of_birth":null,"delivery_town":"---","partner_number":null,"delivery_address":"---","delivery_zipcode":"---","facebook_profile":null,"partner_password":"---","personal_id_number":null,"accept_notifications":"1"}}

Я пытался редактировать столбец в необработанном виде, но по какой-то причине всегда возвращал ноль ...

Любая помощь будет оценена! Спасибо.

РЕДАКТИРОВАТЬ # 1 Я понял, чтобы распечатать данные, но в виде строки. Не знаю, может ли столбец с данными хранить / показывать json данных ...

// Get data
$dump = Activity::all();
// Prettify the properties column
foreach ($dump as $log)
{
    //dd(json_encode($log->properties, JSON_PRETTY_PRINT));
    $log->properties_pretty = json_encode($log->properties, JSON_PRETTY_PRINT);
}
// Return datatable
return DataTables::of($dump)->make(true);
...