Отслеживание изменений нескольких строк как одной ревизии в laravel

Я хочу отслеживать изменения в laravel 5.3, используя диван / ревизионный пакет (или любой другой пакет, который выполняет то же действие)

Таблицы следующие:

item
id - primary key
title - text

item_fields
id - primary key
title - name of the field

item_field_values
item_id - foreign key to item(id)
field_id - foreign key to item_fields(id)
value - text

пример

item
1 - "John"
item_fields
1 - "email"2 - "last login time"3 - "balance"
item_values
1 - 1 - "[email protected]" // email
1 - 2 - "01.11.2016 11:30:03" // last login time
1 - 3 - "$38" // balance

Например, баланс пользователя изменяется одновременно с входом пользователя в систему, поэтому таблица ревизий будет содержать что-то вроде этого

 "For user 1 last login time changed from 01.11.2016 11:30.03 to 02.11.2016 10:20:00""For user 1 balance changed from $38 to $36.50"

Это два отдельных поля, не связанных друг с другом. Если я хочу показать их как one change, но не разные изменения, я не могу сделать это, потому что эти поля не имеют ссылок друг на друга.

Другой пример, новая строка добавлена ​​в таблицу ревизий.

 "For user 1 balance changed from $36.5 to $33"

Это одна разница.

Как я могу выбрать связанные изменения из разных полей как одну массовую ревизию? Там будет много item_fields (сотни). Я не могу положиться на created время строк в revisions Таблица.

Проблема со всеми связанными с ревизиями пакетами в laravel заключается в том, что они отслеживают изменения всех полей в одной модели, но в моем случае есть одна модель (item_field_values), но одна ревизия / версия может содержать много измененных строк.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]