[英]Audit belongsTo relationship in Laravel Eloquent
我有一個經典的主細節關系模型“合同”和一個模型“合同線”。 在 Laravel 術語中:合約線與合約有一個屬於關系。 我想審計用戶對其合同所做的所有更改。 不僅是一般“合同”表中的更改,還有基礎“合同行”中的更改/添加/刪除。
我看過 owen-it 的laravel-auditing和 csinghdev 的cs-revisionable ,但我不確定他們是否支持這種審計。
任何幫助表示贊賞。
我通過使用laravel-auditing解決了我的問題,用合同的 id 標記我的 ContractLine(使用 generateTags)並向我的合同模型添加一個方法“getAllAudits”。 此方法將 Contract 審計及其基礎 ContractLine 審計串聯起來。 在我的審計演示中,我檢查每個審計的“auditable_type”字段,以區分合同審計和合同行審計。
仍然感覺有點hacky,本機解決方案會更好。
我可以代表Laravel 審計。
確實可以審計多個表(即 Eloquent 模型)。
為此,您必須在Contract
和ContractLine
模型中實現Auditable
接口。
基本上,類似於:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use OwenIt\Auditing\Contracts\Auditable;
class Contract extends Model implements Auditable
{
use \OwenIt\Auditing\Auditable;
// ...
}
對ContractLine
模型應用相同的方法。
查看文檔的主要部分,其中解釋了所有內容,包括使用包時的常見問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.