Traits en relaciones ManyToMany en Laravel
Cuando trabajamos con relaciones ManyToMany en Laravel no hacemos uso de modelos para representar estas relaciones, por lo menos no normalmente. Lo que solemos hacer es crear una migración que represente la conexión entre los 2 modelos y Eloquent se encarga del resto.
Ahora bien, si por algún motivo necesitamos que la tabla pívote haga uso de los eventos de Eloquent lo tendremos difícil, pero para eso existe esta entrada.
En esta entrada vamos a ver como utilizar Traits en relaciones ManyToMany en Laravel. Para conseguirlo, lo más sencillo es hacer uso de un Trait que lleve a cabo toda la funcionalidad necesaria. Una vez creado, hacer que el Trait sea ejecutado contra la tabla pívote, es tan sencillo como definir la relación en el modelo afectado de la siguiente forma.
¡Una clase anónima y el uso del Trait hacen la magia gracias a Laravel!