0

CRUD アプリケーションでVentureCraft/revisionableを使用する方法と履歴を取得する方法を知りたい

例 : ユーザーは毎日マイレージを追加してマイレージを編集する必要があります ...... 私のビュー (revision.blade.php) では、誰が追加および編集したかの履歴を取得したい 試してみましたが、次のステップに進む方法がわかりません?

これはモデルです

class Mileage extends Model
{
    use \Venturecraft\Revisionable\RevisionableTrait;
    protected $guarded = [];
}

これがルート

Route::get('/history', function () {
    $mileage = \App\Mileage::all();
    $history = $mileage->revisionHistory;
    return view('revision',compact('history'));
});

ビューに使用するコードがわからない????

マイレージにはuser_id、date、mileageがあり、このように表示したい

例 : ユーザー ...A... が .....date.... のマイレージを追加しました。値は ...mileage...

彼らが編集する場合、私はこのユーザーのように表示したい ...A ... 日付 .... のマイレージを更新しました... 値は ... マイレージ ... から ... マイレージ ... どうすればよいですかこれを行う ?

4

2 に答える 2

0
Route::get('/history', function () {
    $mileage = \App\Mileage::all();
    return view('revision',compact('mileage'));
});

今あなたのbladeファイルに

  @foreach($mileage->revisionHistory as $history )
    <p class="history">
      {{ $history->created_at->diffForHumans() }}, {{ $history->userResponsible()->name }} changed
      <strong>{{ $history->fieldName() }}</strong> from
      <code>{{ $history->oldValue() }}</code> to <code>{{ $history->newValue() }}</code>
    </p>
  @endforeach

controllerここで、または他の場所で履歴が必要な場合は、特性を使用するrevisionHistoryインスタンスを呼び出す必要がありますmodelRevisionableTrait

于 2016-04-20T12:30:50.083 に答える
0

履歴を表示する前。最初に、リビジョン可能なライブラリは、マイレージ テーブルの FK が user_id であるため、マイレージ モデルでユーザー モデルのリレーションシップ メソッドが user() と呼ばれることを前提としています。また、次のコードを User モデルと Mileage モデルに追加する必要があります。

public function identifiableName(){
    return $this->name;
}

ビューでは、このように履歴配列をループする必要があります。

@foreach($history as $h )
     <li>{{ $h->userResponsible()->first_name }} has updated milage  {{ $h->fieldName() }} from {{ $h->oldValue() }} to {{ $h->newValue() }}</li>
@endforeach
于 2016-04-20T12:14:04.427 に答える