【发布时间】:2014-04-21 19:47:17
【问题描述】:
我已经问过一个关于 this 回答另一个话题的问题,但我有点想从中学习,所以我现在有另一个疑问。特别是,我正在查看身份验证方法和数据映射器获取方法。我还发现this 的答案对这个主题非常有帮助,其中解释了 fetch 方法,但它被跳过了我有疑问的部分。回答这个问题的用户 tereško 有几次建议数据映射器中的方法不应该是 fetchById、fetchByUsername 等,而应该是一个 fetch 方法。我的问题是我要如何获取特定的东西作为我写的方法,手头只有域对象?
例如,如果我有一个注册服务方法,我需要检查并可能存储用户名、密码和电子邮件,我需要通过用户名获取来检查用户是否已经存在,然后通过电子邮件获取到检查该电子邮件是否已经在数据库中。那么,我怎么知道在 fetch 方法中如果我只有:
$mapper->fetch($object);
我是否可以在域对象上设置获取选项?
$account->setFetchOptions(['username']);
然后在 fetch 方法中我会检查并获取。这有意义吗?如果有人有其他想法,请分享。
【问题讨论】:
标签: php model-view-controller datamapper