Модель Обозреватель, не работает для обновления?

У меня проблемы с попыткой заставить моего наблюдателя модели работать .. Он работает, как ожидается, для создания и удаления, но не для обновления. Я предполагаю, что событие никогда не срабатывает. Дело в том, что все это делается точно так же. Есть идеи?
Ниже мой наблюдатель.

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

0

Решение

Если кто-то когда-либо сталкивался с этой проблемой, то причина, по которой событие не было запущено, заключалась в том, что метод обновления запускает свои события только тогда, когда обновление происходит непосредственно на модели, поскольку я использовал промежуточный репозиторий для представления моей модели, он не работал ,

Больше подробностей.
https://github.com/laravel/framework/issues/11777#issuecomment-170388067

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]