当前位置:  开发笔记 > 编程语言 > 正文

模型观察员,无法进行更新吗?

如何解决《模型观察员,无法进行更新吗?》经验,为你挑选了1个好方法。

我在尝试让我的模型观察器工作时遇到麻烦。它正在按预期的方式进行创建和删除,但无法进行更新。我猜事件永远不会触发。问题是所有事情都以完全相同的方式进行。有任何想法吗?下面,我的观察者。

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';
}

在这里,我的模特班

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));
}

queroga_vqz.. 6

如果有人遇到过此问题,则不会触发事件的原因是因为update方法仅在直接在模型上发生更新时才触发其事件,因为我使用的是中间存储库来表示我的模型,因此无法正常工作。

更多细节。 https://github.com/laravel/framework/issues/11777#issuecomment-170388067



1> queroga_vqz..:

如果有人遇到过此问题,则不会触发事件的原因是因为update方法仅在直接在模型上发生更新时才触发其事件,因为我使用的是中间存储库来表示我的模型,因此无法正常工作。

更多细节。 https://github.com/laravel/framework/issues/11777#issuecomment-170388067

推荐阅读
重庆制造漫画社
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有