Как сделать inner join в typeorm?

Пользователь

от amaya_bahringer , в категории: JavaScript , 3 месяца назад

Как сделать inner join в typeorm?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от urban_will , 3 месяца назад

@amaya_bahringer 

Для создания inner join в TypeORM нужно использовать метод createQueryBuilder для создания запроса, а затем использовать метод innerJoin для добавления оператора JOIN.


Пример:

1
2
3
4
5
6
7
const userRepository = connection.getRepository(User);
const postRepository = connection.getRepository(Post);

const queryBuilder = postRepository.createQueryBuilder('post')
  .innerJoin('post.user', 'user');

const result = await queryBuilder.getMany();


В этом примере мы создаем запрос с помощью createQueryBuilder, а затем вызываем метод innerJoin для добавления оператора JOIN. Мы также задаем алиасы для таблиц (post и user) и используем их для ссылки на таблицы в запросе.


В результате мы получаем все записи из таблицы post, для которых есть соответствующие записи в таблице user.


Обратите внимание, что innerJoin используется только для соединения таблиц, и результат запроса содержит только те записи, которые имеют соответствующие записи в другой таблице. Если вам нужно получить все записи из целевой таблицы, даже если соответствующих записей в связанной таблице нет, вам следует использовать метод leftJoin.