Você deve estar usando
polymorphic
relacionamentos para isso. Ele permite que vários modelos façam uso de uma única tabela. Dê uma olhada na documentação aqui
No seu caso específico, cada uma de suas tabelas faria referência a um
noteable_id
coluna e um noteable_type
. O
noteable_id
conterá o id do (A/B/C)
modelo. O
noteable_type
conterá o nome da string do modelo (A/B/C)
. O
(A/B/C)
os modelos agora receberão um novo atributo:/**
* (A/B/C) Model(s)
*/
public function notes()
{
return $this->morphMany('App\Notes', 'noteable');
}
E a
note
model iniciará suas propriedades polimórficas em relação ao nome do atributo usado para identificar seus polymorphic ids and types
:/**
* Note Model
*/
public function noteable()
{
return $this->morphTo();
}
Agora você pode simplesmente chamar
->noteable
no (A/B/C)
modelos, e todos compartilham 1 tabela sem a necessidade de outra tabela dinâmica para cada tabela.