我有一个审计类,它扩展了Eloquent Model...
class Audit extends Model {
}
我有一个可审计的接口...
interface IAuditiable {
public function audit();
}
我有一个特性,它满足接口并定义了模型和审计之间的关系...
trait Auditable {
public function audit(){
return $this->hasMany('Audit');
}
}
我有一个模型,它继承了Eloquent Model并实现了接口,使用了trait...
class Post extends Model implements IAuditable {
use Auditable;
}
我想在那里添加功能,在创建或更新Post模型时,可以“创建”或“更新”审核。 我通过在Post上注册观察者来解决这个问题,该观察者会捕获“saved”事件并添加新的审核。
然而,最终会有许多使用实现IAuditable并使用Auditable trait的模型。
因此,我的问题是,在Laravel 5.1中是否可能实现一个观察者,该观察者将捕获实现IAuditable接口的任何模型的所有“saved”事件?