我有一个带有用户名和密码属性的嵌入式凭据文档的实体模型。
- 实体
- ...
- 证书
- 用户名
- 密码
我目前在实体模型上设置了验证,以确保数据库中没有现有的用户名。
我的问题是:我应该将验证检查放在 Credentials 模型上还是将其留在 Entities 模型上?模型关系的示例实现显示在此 Stack Overflow 帖子中:锂从视图中填充多个模型
我有一个带有用户名和密码属性的嵌入式凭据文档的实体模型。
我目前在实体模型上设置了验证,以确保数据库中没有现有的用户名。
我的问题是:我应该将验证检查放在 Credentials 模型上还是将其留在 Entities 模型上?模型关系的示例实现显示在此 Stack Overflow 帖子中:锂从视图中填充多个模型
正如 Daschl 指出的那样:您必须手动执行此操作。
您可以编写一个没有相关数据库连接的凭据模型,并将凭据创建和验证触发器嵌入到实体保存和创建过滤器中。而且您必须在某处注意用户名的唯一性。
如果您查询实体,您将获得一个带有子文档的文档集。但它们都绑定到实体。喜欢(伪代码)
DocumentSet {
'_model' => Entites,
'data' => array (
'entityvar' => foo,
'Credentials' => DocumentSet {
'_model' => Entities,
'data' => ...
}
)
}
看看锂球。他们使用那些没有源连接的子模型
查看http://github.com/pointlessjon/sphere上的Lithium Sphere 代码,了解在博客文章中嵌入评论的真实示例
只要没有 MongoDB 关系,您就必须自己处理这些关系。
推荐的方法是将它放在实体级别并在您的验证中使用点语法(Lithium 将相应地在“子文档”中识别这些)。