5

Category別の を保持できるモデルを作成したいのですがcategory、現在のカテゴリを自分自身に設定できる参照フィールドに問題があります

階層カテゴリを達成する方法について何か提案はありますか? KeystoneJS「等しくない」などのフィルターはありますか? 一方、デフォルトの参照フィールドを自分自身に設定すると、ルートのようになるかもしれません...

以下の私の現在のコード:

    var keystone = require('keystone'),
        タイプ = keystone.Field.Types;

    var PageCategory = keystone.List('PageCategory', {
        マップ: { 名前: '名前' },
        autokey : { from: 'name', path: 'key'}
    });

    PageCategory.add({
        名前: { タイプ: 文字列, 必須: true, 一意: true},
        image: { type: Types.CloudinaryImage, label: "Category Image"},
        説明: {タイプ: Types.Html, wysiwyg: true},
        親: { type: Types.Relationship, ref: "PageCategory", label: "親カテゴリ"}
    });

    PageCategory.relationship({ ref: "PageCategory", path: "親"});

    PageCategory.register();

4

1 に答える 1

0

仕組みを誤解していると思いますModel.relationship()

次の 3 つのオプションがあります。

  • パス、これは値を保持する「仮想」フィールド名です
  • ref、これは私たちが参照するモデルです
  • refPath、これは参照モデルのフィールドであり、パスに入力します

これに沿った何かがあなたのために働くと思います

PageCategory.relationship({ ref: "PageCategory", path: "children", refPath: "parent"});
于 2015-03-20T13:33:56.900 に答える