【发布时间】:2012-01-23 14:07:20
【问题描述】:
我正在寻找获取用户创建的内容的最佳做法。 我有 $user 对象形式'security.context',我需要通过一些 $record_id 获取该用户创建的单个记录,
那我该怎么办?
$this->getDoctrine()->getRepository('AcmeRecordBundle:Record')
->findOneBy(array( 'id' => $record_id, 'user' => $user->getId() ));
这对我来说看起来不太好,因为我还有很多信息需要获取以寻找用户(不要让其他用户尝试通过某个 id 获取它)。对于任何内容(个人照片,其他一些私人内容)我必须通过 'user' => $user->getId() ?
或者最好使用所有这些功能创建 UserRepository? getRecordById($id)、getPhotoById($id)、getPrivateInformationById($id) 等
我在 Rails 上工作了一点,在那里我能够定义 current_user 方法
def current_user
return @current_user if defined?(@current_user)
# ....
end
然后把它当作
current_account.records.find(params[:id])
有没有可能让它像 Doctrine2 和 Symfony2 一样工作?喜欢
$user->getRecords()->find($recordId)
【问题讨论】:
标签: php orm symfony doctrine-orm