Non so se questa è esattamente la funzione che stai cercando, ma puoi specificare un'opzione filter
nel campo Relationship
come oggetto e filtrerà i risultati in modo che vengano visualizzati solo quelli che corrispondono.
Ogni proprietà nell'oggetto filter
dovrebbe essere un valore da corrispondere nel relativo schema, oppure può essere un valore dinamico corrispondente al valore di un altro path
nello schema (precedere il percorso con un :
).
Ad esempio:
schema utente
User.add({
state: { type: Types.Select, options: 'enabled, disabled' }
});
Messaggio Schema
// Only allow enabled users to be selected as the author
Post.add({
author: { type: Types.Relationship, ref: 'User', filter: { state: 'enabled' } }
});
O per un esempio di dinamica, immaginate di avere un ambiente role
sia per Posts
e Users
. Vuoi solo abbinare gli autori che hanno lo stesso role
come post
.
schema utente
User.add({
userRole: { type: Types.Select, options: 'frontEnd, backEnd' }
});
Messaggio Schema
Post.add({
postRole: { type: Types.Select, options: 'frontEnd, backEnd' },
// only allow users with the same role value as the post to be selected
author: { type: Types.Relationship, ref: 'User', filter: { userRole: ':postRole' } }
});
Nota che questo non è effettivamente implementato come convalida di back-end, è solo implementato nel Admin UI. Quindi è più un miglioramento dell'usabilità che una restrizione.
fonte
2014-05-28 14:29:13
Questa domanda non è abbastanza chiara. Non capisco cosa stai cercando di fare e qual è il problema. Per favore, spiegane altro. E condividi il codice di ciò che hai già per affrontare questo problema. –