Использование Laravel и Revisionable Package для отслеживания изменений. На мой взгляд, я заполняю свой стол:
@foreach($revisions as $revision)
@if($revision->key == 'created_at' && !$revision->old_value)
<tr>
<td>{{ $revision->revisionable_type }}</td>
<td>{{ $revision->revisionable_id }}</td>
<td width="50">{{ $revision->userResponsible()->first_name }}</td>
<td Width="50"></td>
<td></td>
<td>{{ $revision->newValue() }}</td>
<td width="150">{{ $revision->created_at }}</td>
</tr>
@else
<tr>
<td>{{ $revision->revisionable_type }}</td>
<td>{{ $revision->revisionable_id }}</td>
<td width="50">{{ $revision->userResponsible()->first_name }}</td>
<td width="50">{{ $revision->fieldName() }}</td>
<td>{{ $revision->oldValue() }}</td>
<td>{{ $revision->newValue() }}</td>
<td width="150">{{ $revision->updated_at }}</td>
</tr>
@endif
@endforeach
Второй столбец {{$ revision-> revisionable_id}} является первичным ключом пользовательской записи, которая была изменена. Я хотел бы вернуть адрес электронной почты или имя_файла / фамилию записи этого пользователя. Я довольно новичок в этом и могу использовать толчок в правильном направлении!
Спасибо!
Вы можете получить доступ к модели, к которой относится данная ревизия, путем доступа к revisionable отношение этой ревизии. В вашем случае, чтобы отобразить свойство email соответствующей модели, вы можете сделать следующее:
<td>{{ $revision->revisionable->email }}</td>
из имен переменных revisionable_type
& revisionable_id
Я предполагаю, что вы используете много-много полиморфных отношений. на основании этого
Вы должны определить отношение в Revision
Модель с User
вот так:
public function users()
{
return $this->morphedByMany('App\User', 'taggable');
}
так что вы можете использовать все ревизии, связанные с этим пользователем $revision->users
это вернет массив
и если вы уверены, что у вас есть только одна запись, связанная с этим объектом, как ваш случай, как я думаю. ты можешь использовать $revision->users->first()->email
или имя пользователя и т.д ..