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 искать в гугле, хотя именно так и нашел вариации похожих вопросов) или как обойти это стандартными методами?


Ответы (0 шт):