2017-11-28 9 views
0

.find()를 사용하여 Person을 선택하려고하면 선택을 수행합니다. 그러나 Select에는 이와 같이 선언하지 않은 여러 필드가 있습니다. 예 : 필드 :TypeOrm에서 잘못된 이름으로 색인을 선택했습니다.

... 
@Index("mail_blog_yn",["mail_blog_yn",]) 
... 
export class person { 
... 
    @ManyToOne(type=>lov_jn_kz, mail_blog_yn=>mail_blog_yn.persons4) 
    @JoinColumn() 
    mail_blog_yn:lov_jn_kz; 
... 
} 

정보 : 기업은 생성 된 TypeOrm-Model-Generator 선택 로그에 다음과 같습니다

:

여기
... 
`person`.`mailBlogYnKeyTypKz` AS `person_mailBlogYnKeyTypKz` 
... 

코드와 연결 설정 :

typeorm.createConnection({ 
    type: "mysql", 
    host: "localhost", 
    port: 3306, 
    username: Configuration.Database.user, 
    password: Configuration.Database.password, 
    database: Configuration.Database.database, 
    entities: [ 
    ... 
    person, 
    .... 
    ], 
    synchronize: false, 
    logging: true 
}).then(connection => { 
    const modelRepository: typeorm.Repository<person> =  connection.getRepository(person); 
    modelRepository.find({ 
    "username" : 'x' 
}).then((persons: person[]) => { 
    console.log(JSON.stringify(persons)); 


    }); 
}).catch(error => console.log(error)); 

여기 Person.ts와 완전한 SQL 내 테이블 사람에 대한 진술과 일부 데이터. TypeORM는 내가 정말 필요로하는 값을 선택에 저를 허용하고 모든 값을 선택에서 ORM을 방지에서 QueryBuilder를 사용

: Select-Problem.zip

답변

0

예, 해당 발전기 문제입니다.

@ManyToOne(type=>lov_jn_kz, mail_blog_yn=>mail_blog_yn.persons4) 
@JoinColumn({ name: "mail_blog_yn" }) 
mail_blog_yn:lov_jn_kz; 

이이 문제를 해결하지만, 손으로 일을하는 나를 위해 옵션이 없습니다, 그래서 typeorm 모델 발전기 확실히이 문제를 해결해야합니다

@ManyToOne(type=>lov_jn_kz, mail_blog_yn=>mail_blog_yn.persons4) 
@JoinColumn() 
mail_blog_yn:lov_jn_kz; 

가 있어야한다 : (Typeorm Issue 1253 여기를 참조하십시오).

typeorm-model-generator에서이 문제를 추적하십시오. Issue #13

0

는 지금의 해결 있습니다.

실제 해결책을 아직 기다리고 있습니다.