2016-12-25 19 views
2

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}}が変更されたユーザー・レコードの主キーであることを起こります。そのユーザーのレコードの電子メールアドレスまたはfirst_name/last_nameを返したいと思います。私はこれでかなり新しいし、正しい方向にプッシュを使用することができます!

ありがとうございます!

答えて

1

リビジョンのリビジョン対応リビジョンのリレーションにアクセスすることで、リビジョンが関係するモデルにアクセスできます。あなたのケースでは、関連するモデルの電子メールのプロパティを表示するためには、次の操作を実行できます。

<td>{{ $revision->revisionable->email }}</td> 
+0

感謝を使用することができます!これは完璧に機能しました! – SGlavach

+0

あなたはその質問に答えてマークできますか? –

+0

確かに、閉じたものとしてマークする方法はありませんか? – SGlavach

0

変数名revisionable_type & revisionable_idから私はあなたが多くのポリモーフィック関係に多くを使用していると仮定します。その に基づいて、あなたはUserので、同じようにRevisionモデルで関係を定義するためにきた:あなたは、この配列 を返します。このユーザー$revision->usersに関連するすべてのリビジョンを使用することができますので、

public function users() 
    { 
     return $this->morphedByMany('App\User', 'taggable'); 
    } 

、あなたがしている場合あなたが思うように、あなたの事件のようにこのオブジェクトに関連する1つのレコードしか持っていないことを確かめてください。あなたは$revision->users->first()->emailまたはユーザ名、など。

Laravel Docs

+0

速い応答と追加情報のためのドキュメントへのリンクをありがとう!非常に高く評価! – SGlavach

関連する問題