dsmndhm Normal ilişkileri kullanarak yapabileceğinizi sanmıyorum. Yapabilseniz bile çok karışık olabilir. A ile B arasındaki ilişki HasMany olsaydı yapılabilirdi. Şöyle bir şey yapabilirsiniz ama:
C model içinde:
public function getBs(): Collection
{
return B::join('A_B', 'B.id', '=', 'A_B.B_id')
->join('A_C', 'A_B.A_id', '=', 'A_C.A_id')
->where('A_C.C_id', $this->id)
->select('B.*')
->get();
}
Diğer bir yol da ayrı bir tabloda C-B ilişkisi tutmak ve diğer ilişkiler değiştiğinde C-B pivot tablosunu güncellemek. Bu istediğinizi verir ama ekstra bir tablo ve işlemler yapmanız demek.