Can we use an observer on the attach method in Laravel?

I would like to observe a pivot table in which, rows are created with an attach method in a specific model, is there a way to Observe that pivot table through the attach method that is responsible for creating rows?


after struggling some time, I came to answer my question,

so in order to observe a table whose rows are created by the attach method, we will need to do 3 things

1- we will need to create a model that extends $Illuminate\Database\Eloquent\Relations\Pivot

2- Connect the model to the database table with this line:

protected $table = 'data_base_table_name';

3- use the method 'using' at the end of the BelongsToMany relationship in each model that is related to the pivot table

Example:

let's say we have a model called Student and another one called Group, we have also a pivot table called group_students that is filled with the attach method since we have a student BelongsToMany groups and Group BelongsToMany Students,

we will need to create a model named GroupStudent that extends Illuminate\Database\Eloquent\Relations\Pivot and link it to the group_students by adding the following line in the GroupStudent Class:

protected $table = 'group_student'

After that, we will need to add the using method The BelongsToMany relations in the Student Model and the Group Model like the following:

public function students()
{
    return $this->BelongsToMany(Student::class)->using(GroupStudent::class);
}

and

public function groups()
{
    return $this->belongsToMany(Group::class)->using(GroupStudent::class);
}

And here we go, now whenever I create a row in the group_students table through the attach method, this will be observed and the method created will be executed.