Próbuję użyć relacji hasManyThrough w laravel 5.1, ale kwerenda sql nie używa odpowiedniego prefiksu zdefiniowanego w każdym połączeniu dla każdego używanego modelu. Mam 3 modele 2 z których korzysta z tego samego połączenia i jeden z nich używa innego. Jedyną różnicą między połączeniami jest przedrostek, w którym baza danych jest taka sama.Różne połączenia db dla modeli używających relacji maManyThrough w języku laravel 5.1
- Wzór A ma połączenie A, który wykorzystuje prefiksu a_
- Wzór B ma połączenie B, który wykorzystuje prefiksu B_
- modelu C ma połączenie B, który wykorzystuje prefiks B_
zależności:
Model wewnętrzny B:
public function relationshipWithA()
{
return $this->hasManyThrough(A::class, C::class, 'Cid', 'Aid');
}
Końcowa logika zapytań jest poprawna, ale zamiast prefiksu B_ dla połączonych tabel używa prefiksu A_ dla wszystkich tabel w zapytaniu.
Czy to błąd/ograniczenie laravel? Czy istnieje rozwiązanie tego problemu, czy też będę musiał ręcznie dołączyć, aby osiągnąć to, czego chcę?
Modele laravel nie będą działać z różnymi połączeniami dla relacji, ponieważ elokwentny używa połączeń SQL za kulisami i nie będzie to możliwe w przypadku więcej niż jednego połączenia DB – AfikDeri