Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/415.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeForm:如何将现有类别与新帖子链接_Javascript_Mysql_Node.js_Relational Database_Typeorm - Fatal编程技术网

Javascript TypeForm:如何将现有类别与新帖子链接

Javascript TypeForm:如何将现有类别与新帖子链接,javascript,mysql,node.js,relational-database,typeorm,Javascript,Mysql,Node.js,Relational Database,Typeorm,我正在基于Wordpress数据库模式构建一个博客RESTAPI 我已经使用typeform框架将wp\u帖子表格与wp\u术语分类法表格与多对多关系进行了链接 现在的问题是,当我使用cascade特性创建一篇包含类别的文章时 它生成新的类别,即使它已经存在我不能使用新的职位存在类别! 因此,我只需要将现有类别(分类法)与新帖子联系起来。 代码: private createPost = async (request: express.Request, response: express.Res

我正在基于Wordpress数据库模式构建一个博客RESTAPI

我已经使用typeform框架将
wp\u帖子
表格与
wp\u术语分类法
表格与多对多关系进行了链接

现在的问题是,当我使用cascade特性创建一篇包含类别的文章时 它生成新的类别,即使它已经存在我不能使用新的职位存在类别! 因此,我只需要将现有类别(分类法)与新帖子联系起来。 代码:

private createPost = async (request: express.Request, response: express.Response) => {

    const data: WpPostsModel = request.body;
    const entries: any[] = request.body.taxonomies;
    let taxonomies = [];

    for (let i = 0; i < entries.length; i++) {
        const entry = entries[i];

        let newTaxonomy = new WpTermTaxonomyModel();

        newTaxonomy = {
            taxonomy: entry.taxonomy,
            description: '',
            term: {
                name: entry.term.name,
                slug: entry.term.name.replace(/\s+/g, '-'),
                term_group: 0,
                // term_id: entry.term.term_id
            }
        }

        taxonomies.push(newTaxonomy);
    }


    const newPost = await this.postRepository.create({
        post_title: data.post_title,
        post_content: data.post_content,
        post_excerpt: data.post_excerpt,
        post_type: 'post',
        post_mime_type: '',
        comment_status: 'closed',
        ping_status: 'closed',
        to_ping: '',
        pinged: '',
        comment_count: 0,
        post_parent: 0,
        post_status: 'publish',
        post_content_filtered: '',
        post_password: '',
        post_name: ( data.post_title ) ? data.post_title.replace(/\s+/g, '-') : '',
        post_date: new Date(),
        post_date_gmt: new Date(),
        post_modified: new Date(),
        post_modified_gmt: new Date(),
        taxonomies
    });

    await this.postRepository.save(newPost);

    response.send(newPost);

}
wp_术语_分类实体

@Entity({ name: 'wp_term_taxonomy', synchronize: false })
export class WpTermTaxonomyModel {

    @PrimaryGeneratedColumn({ name: 'term_taxonomy_id' })
    public termTaxonomyId?: number;

    @OneToOne(() => WpTermsModel)
    @JoinColumn({ name: 'term_id' })
    public term?: WpTermsModel;

    @Column()
    public taxonomy?: string;

    @Column()
    public description?: string;

    @Column()
    public parent?: number;

}
wp_术语实体

@Entity({ name: 'wp_terms', synchronize: false })
export class WpTermsModel {

    @PrimaryGeneratedColumn()
    public term_id?: number;

    @Column()
    public name?: string;

    @Column()
    public slug?: string;

    @Column()
    public term_group?: number;
}

为WpPostsModel和WPTermTaxonomicyModel共享您的实体类感谢您的回复我已经编辑了与实体的问题我不知道现在回复您是否有点晚,但是您是否尝试过使用{unique:true}?在decorator内部限制上载唯一值?共享WpPostsModel和WPTermTaxonomyModel的实体类感谢您的回复我已编辑了与实体的问题我不知道这是否有点晚才回复您,但您是否尝试在decorator内部使用{unique:true}限制上载唯一值?
@Entity({ name: 'wp_terms', synchronize: false })
export class WpTermsModel {

    @PrimaryGeneratedColumn()
    public term_id?: number;

    @Column()
    public name?: string;

    @Column()
    public slug?: string;

    @Column()
    public term_group?: number;
}