我想知道如何在CRUD应用程序中使用VentureCraft/revisionable并获取历史记录
Ex:用户每天都需要增加里程并编辑里程......在我的视图中(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,日期,里程我想要这样显示
Ex:用户...... A ...已经为......添加里程....价值是......里程......
如果他们编辑我想要像这样的用户显示...... A ...有更新里程.....日期......价值是......里程......到...里程......我怎么能这样做?
答案 0 :(得分:0)
在显示历史记录之前。首先,可修订库假定在您的Mileage模型中调用用户模型的关系方法 user()因为milage表中的FK是user_id。您还需要将以下代码添加到用户模型和里程模型中。
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
答案 1 :(得分: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
特征的model
RevisionableTrait
个实例