Size: a a a

TypeORM - Русскоязычное сообщество

2021 February 10

AK

Andrey Korobeynikov in TypeORM - Русскоязычное сообщество
Кто нибудь знает, как сделать запрос в queryBulder, чтобы  возвращался простой массив [1,2,3,4,5,6,7]

return UserEntity.createQueryBuilder('u')
     .select('u.id as id')
     .where('u.status = :status', {status})
     .getRawMany();



в примере сверху возвращается урезанный массив сущностей

[
 {id: 1},
 {id: 2}
]

а как сделать
[1,2]


?
источник

AK

Andrey Korobeynikov in TypeORM - Русскоязычное сообщество
не хочется потом map'om проходить просто
источник

КБ

Константин Брызгалин... in TypeORM - Русскоязычное сообщество
Andrey Korobeynikov
Кто нибудь знает, как сделать запрос в queryBulder, чтобы  возвращался простой массив [1,2,3,4,5,6,7]

return UserEntity.createQueryBuilder('u')
     .select('u.id as id')
     .where('u.status = :status', {status})
     .getRawMany();



в примере сверху возвращается урезанный массив сущностей

[
 {id: 1},
 {id: 2}
]

а как сделать
[1,2]


?
никак
источник

AK

Andrey Korobeynikov in TypeORM - Русскоязычное сообщество
эх. спасибо
источник

R

Riclud in TypeORM - Русскоязычное сообщество
Я хочу сделать выборку по Id связи, но typeorm это почему то не устраивает, что не так?
источник

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
{id:userId}
источник

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
или так userId
источник

R

Riclud in TypeORM - Русскоязычное сообщество
Ну он и будет ссылаться на id записи, а я хочу выборку по user_id
источник

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
добавь в ентити

   @Column('user_id')
   public userId: string;

птом
{userId}
источник
2021 February 12

R

Riclud in TypeORM - Русскоязычное сообщество
🏡 ILshat Khamitov
добавь в ентити

   @Column('user_id')
   public userId: string;

птом
{userId}
Спасибо, всё заработало
источник

IS

Ivan Sacura in TypeORM - Русскоязычное сообщество
гайз всем привет есть вопрос как прописать в тайп орм where not exists
источник

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
А прям так не канает чтлли?
источник

IS

Ivan Sacura in TypeORM - Русскоязычное сообщество
?
источник

🏡K

🏡 ILshat Khamitov in TypeORM - Русскоязычное сообщество
В квери билдер так и напиши нот ексистс
источник

IS

Ivan Sacura in TypeORM - Русскоязычное сообщество
не тип по нормальному
источник
2021 February 15

R

Riclud in TypeORM - Русскоязычное сообщество
Можно как-нибудь без условий сделать, типо если пользователь хочет отредактировать только текст, то completed будет undefined и бд ругается на null ?
источник

КБ

Константин Брызгалин... in TypeORM - Русскоязычное сообщество
Riclud
Можно как-нибудь без условий сделать, типо если пользователь хочет отредактировать только текст, то completed будет undefined и бд ругается на null ?
надо полагать если бд «ругается на null» то поле not nullable а completed тут всё-таки null а не undefined…
а вообще в идеале при сохранении надо бы сначала убедиться что запись существует… то есть сделать выборку по id (findOneOrFail – словить EntityNotFoundException и конвертануть её в 404), а потом, проверив userId и поменяв нужные поля, сохранить с помощью save()…
источник
2021 February 16

H

Hellomik in TypeORM - Русскоязычное сообщество
хай как сдалать филтер в findOne внутри realtion
@Entity("participanceChat")
@ObjectType("participanceChat")
export class ParticipanceEntity extends BaseEntity {
 
 @Field(() => ID)
 @PrimaryGeneratedColumn("uuid")
 id!: string;
 
 @Column({ nullable: true })
 chat_id!: string;
 
 @ManyToOne(() => ChatEntity, (chat) => chat.participance)
 @JoinColumn({ name: "chat_id" })
 chat!: ChatEntity;
 
 @Column()
 participant_id!: string;
 
 @ManyToOne(() => User, (participant) => participant.chat)
 @JoinColumn({ name: "participant_id" })
 participant!: User;
 
 @Column({ default: false })
 isAdmin?: boolean;
 
 constructor(chat?: ChatEntity) {
   super();
   this.chat = chat!;
 }
}
вот второй entity
@Entity("chat")
@ObjectType("chat")
export class ChatEntity extends BaseEntity {
 @Field(() => ID)
 @PrimaryGeneratedColumn("uuid")
 id!: string;

 @Field({ nullable: true })
 @Column({ nullable: true })
 name?: string;

 @Field({ nullable: true })
 @Column({ nullable: true })
 photoURL?: string;

 @OneToMany(() => ParticipanceEntity, (participance) => participance.chat)
 participance!: ParticipanceEntity[];

 @Field({ nullable: true })
 lastMessage?: string;

 @Field(() => Date, { nullable: true })
 date?: Date;

 @OneToMany(() => MessageEntity, (textCon) => textCon.chat)
 textConection!: MessageEntity[];

 @Field({ nullable: true })
 @Column({ nullable: true })
 isGroup!: boolean;
}
источник

H

Hellomik in TypeORM - Русскоязычное сообщество
я пытлася что то такое
await getRepository(ChatEntity).findOne({
       where: {
         isGroup: false,
         // "participance.participant.id": tokenVer.id,
         participance: {
           isAdmin: false,
           participant_id: tokenVer.id,
         },
       },
       relations: ["participance"],
     });
источник

КБ

Константин Брызгалин... in TypeORM - Русскоязычное сообщество
Hellomik
я пытлася что то такое
await getRepository(ChatEntity).findOne({
       where: {
         isGroup: false,
         // "participance.participant.id": tokenVer.id,
         participance: {
           isAdmin: false,
           participant_id: tokenVer.id,
         },
       },
       relations: ["participance"],
     });
я не уверен что findOne тут подходит, у него ограниченные возможности всё-таки… я бы использовал query builder, там сделать leftJoin на participance, по алиасу связи добавить в where условие participant.isAdmin = :val, { val: false } типа такого…
надо посмотреть только какой из leftJoinXXX методов работает с заданными на сущности связями – их там несколько и я по памяти не помню какой за что отвечает…
источник