我正在尋找獲取用戶創建的內容的最佳做法。 我有$用戶對象的形式「security.context」,我需要得到這個用戶的一些$ RECORD_ID創造了一個記錄,Symfony2用戶與教條
所以我應該怎麼辦?
$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)
所以你們建議的解決方案都是一樣的我在想 - 每次都要傳遞$ user-> getId(),或者爲每個選擇在一些UserRepository中創建單獨的方法? – 2011-12-22 12:53:10
在存儲庫中的單獨方法中,您仍然必須將用戶的ID傳遞給查詢。它不可能做其他事情 – Itako 2011-12-27 13:31:15