使用Laravel和可修订程序包跟踪更改。在我看来,我填充了我的桌子:
@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-&gt; revisionable_id}}恰好是被修改的用户记录的主键。我想返回该用户记录的电子邮件地址或first_name / last_name。我在这方面相当新,可以使用正确的方向推动!
谢谢!
答案 0 :(得分:1)
您可以通过访问该修订的可修订关系来访问给定修订所涉及的模型。在您的情况下,为了显示相关模型的电子邮件属性,您可以执行以下操作:
<td>{{ $revision->revisionable->email }}</td>
答案 1 :(得分:0)
来自变量名称revisionable_type
&amp; revisionable_id
我假设你使用了多对多的多态关系。基于此
你要在Revision
模型中定义User
的关系,如下所示:
public function users()
{
return $this->morphedByMany('App\User', 'taggable');
}
因此您可以使用与此用户$revision->users
相关的所有修订版本,这将返回数组
如果您确定您只有一个与此对象相关的记录,就像我想的那样。您可以使用$revision->users->first()->email
或用户名等。