私は2つのモデルを持っています
/**
* Page Model
* =============
*/
var Page = new keystone.List('Page');
Page.add({
name: { type: String, required: true },
pid: { type: String, required: true , default:"123" },
phone: { type: String },
keyword : {type: Types.Relationship, ref: 'Keyword' , many: true},
searchvol : {type: Types.Relationship, ref: 'Keyword' , many: true},
pageType: { type: Types.Select, options: [
{ value: 'message', label: 'Just leaving a message' },
{ value: 'question', label: 'I\'ve got a question' },
{ value: 'other', label: 'Something else...' }
] },
createdAt: { type: Date, default: Date.now }
});
Page.relationship({ path: 'keywords', ref: 'Keyword', refPath: 'keyword' });
Page.relationship({ path: 'keywords', ref: 'Keyword', refPath: 'searchvol' });
そしてキーワードモデル
/**
* Keyword Model
* =============
*/
var Keyword = new keystone.List('Keyword');
Keyword.add({
//name: { type: String, required: true },
searchvol: { type: String },
keywordType: { type: Types.Select, options: [
{ value: 'message', label: 'brand' },
{ value: 'question', label: 'exact match' },
{ value: 'other', label: 'Something else...' }
] },
createdAt: { type: Date, default: Date.now }
});
検索ボリュームを管理 UI に含めて、並べ替えとフィルターを使用できるようにしたい
ただし、名前フィールドのみを含めることができるようで、そのフィールドを削除するとIDのみが表示されます。
これを修正する唯一の方法は、私の「結合」を処理するカスタムcrudインターフェースを構築することです。または、現在の設定で動作させる方法が存在します。
これは、これを行う方法に関する詳細を見つけたドキュメントへのリンクです。 http://keystonejs.com/docs/database/#relationships