это мой сценарий: я использую Laravel 5.5.x.У меня есть две модели, которые связаны между собой по-разному.
class Artwork extends Model
{
//It has timestamps
protected $table = 'artworks';
protected $fillable = [
'artwork_category_id'
];
public function artworkCategory()
{
return $this->belongsTo('App\Models\ArtworkCategory');
}
}
class ArtworkCategory extends Model
{
use SoftDeletes;
protected $touches = ["artworks"];
/**
* @var string
*/
protected $table = 'artwork_categories';
protected $fillable = [
'category_name',
'acronym',
'deleted_at'
];
public function artworks()
{
return $this->hasMany('App\Models\Artwork');
}
}
Сенсорное управление работает правильно, поэтому при обновлении категории художественных работ поле связанных с ними произведений обновляется.
Но мне нужнослушайте «прикосновение» к каждому произведению искусства.Я пытался вставить «обновленный» слушатель при загрузочном методе в AppServiceProvider, но он не срабатывает.
Artwork::updated(function ($model){
\Log::debug("HERE I AM");
});
Я пытался использовать наблюдатель, но безуспешно.
class ArtworkObserver
{
public function updated(Artwork $artwork)
{
dd($artwork);
}
}
Метод загрузки в AppServiceProvider:
Artwork::observe(ArtworkObserver::class)
Вопрос: Может кто-нибудь показать мне правильный способ сделать это?Или скажи мне, где я не прав?Я не был достаточно хорош, чтобы найти пример, который помогает мне, как это сделать.
Обновление Мне нужно этого добиться, потому что мне нужно «запустить» Scout для сохранения обновленных данных на Elasticsearch наУказатель произведений искусства.