que*_*vqz 0 php observers observer-pattern eloquent laravel-5
我在尝试让我的模型观察器工作时遇到麻烦。它正在按预期的方式进行创建和删除,但无法进行更新。我猜事件永远不会触发。问题是所有事情都以完全相同的方式进行。有任何想法吗?下面,我的观察者。
class GenericObserver extends AbstractObserver {
protected $events;
public function __construct(Dispatcher $dispatcher){
$this->events = $dispatcher;
}
public function saved($model) {
dd($this->events);
$user_id = Auth::user()->usr_id;
$user_nome = Auth::user()->usr_nome;
$user_email = Auth::user()->usr_email;
dd($model);
}
public function deleted($model) {
$user_id = Auth::user()->usr_id;
$user_nome = Auth::user()->usr_nome;
$user_email = Auth::user()->usr_email;
echo($model->getTable());
dd($model->getKeyName());
}
public function updated($model) {
$user_id = Auth::user()->usr_id;
$user_nome = Auth::user()->usr_nome;
$user_email = Auth::user()->usr_email;
dd($model);
}
public function saving($model){
echo 'Saving';
}
public function deleting($model){
echo 'Deleting';
}
public function updating($model){
echo 'Updating';
}
Run Code Online (Sandbox Code Playgroud)
在这里,我的模特班
Aplicacao extends Model {
protected $table = 'gst_aplicacoes';
protected $primaryKey = 'app_id';
protected $fillable = ['app_nome', 'app_key', 'app_observacao'];
public static function table() {
$model = new static;
return $model->getTable();
}
public static function boot() {
parent::boot();
Aplicacao::observe(new GenericObserver(new Dispatcher));
}
Run Code Online (Sandbox Code Playgroud)
如果有人遇到过此问题,则不会触发事件的原因是因为update方法仅在直接在模型上发生更新时才触发其事件,因为我使用的是中间存储库来表示我的模型,因此无法正常工作。
更多细节。 https://github.com/laravel/framework/issues/11777#issuecomment-170388067
归档时间: |
|
查看次数: |
4105 次 |
最近记录: |