У меня проблемы с попыткой заставить моего наблюдателя модели работать .. Он работает, как ожидается, для создания и удаления, но не для обновления. Я предполагаю, что событие никогда не срабатывает. Дело в том, что все это делается точно так же. Есть идеи?
Ниже мой наблюдатель.
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));
}
Если кто-то когда-либо сталкивался с этой проблемой, то причина, по которой событие не было запущено, заключалась в том, что метод обновления запускает свои события только тогда, когда обновление происходит непосредственно на модели, поскольку я использовал промежуточный репозиторий для представления моей модели, он не работал ,
Больше подробностей.
https://github.com/laravel/framework/issues/11777#issuecomment-170388067
Других решений пока нет …