Вы не можете запросить таблицу соединения напрямую, используя API-интерфейс TypeORM (если только вы не попытаетесь выполнить необработанный запрос, но я предполагаю, что это не то, чего вы хотите достичь ... И я не рекомендую это, так как имена таблиц может быть изменено ...).
Однако, поскольку вы объявили отношение с помощью @ManyToMany
, вы можете загрузить users
вашего devices
с помощью построителя запросов, например:
const devicesWithUsers = await deviceRepository.createQueryBuilder('device')
.leftJoin('device.users', 'user')
.where(/* whatever you need */)
.getMany();
Документация TypeORM дает больше примеров, например:
const user = await createQueryBuilder("user")
.leftJoinAndSelect("user.photos", "photo")
.where("user.name = :name", { name: "Timber" })
.getOne();
, которые могут дать, в результате:
{
id: 1,
name: "Timber",
photos: [{
id: 1,
url: "me-with-chakram.jpg"
}, {
id: 2,
url: "me-with-trees.jpg"
}]
}