Gorm "условный join"
Есть ли способ описать такое поведение из коробки в GORM (например preload with conditions или еще каким способом)
Имеется структура с условными ссылками:
table Items(
id int8,
tableId int8, //Указатель на таблицу с объектами
itemId int8 //Указатель элемента в таблице
)
table Object1(
id int8
someData ....
)
table Object2(
id int8
someData ....
)
Я в курсе что запросы такого вида стандартом SQL не поддерживаются:
select
*
from
Items i
if(i.tableId=1) join Object1....
elseif(i.tableId=2) join Object2....
Тем не менее никто не мешает мне реализовать подобное поведение в несколько запросов(описав их руками), но хотелось бы использовать GORM по полной и спихнуть на него эту часть работы.
Не прошу готового, натолкните хотябы на то как верно загуглить это(не условный же join искать в гугле, хотя именно так и нашел вариации похожих вопросов) или как обойти это стандартными методами?