3
A
回答
9
調查範圍。默認範圍將是您的朋友: http://www.yiiframework.com/doc/guide/1.1/en/database.ar#named-scopes
因爲defaultScopes陣列是一個函數裏面,你也可以做有條件默認範圍:
public function defaultScope()
{
$t=$this->getTableAlias(false,false);
if(Yii::app()->user->notAdmin()) {
return array(
'condition'=>"$t.<column_name> = :<columnName>",
'params'=>array(':<columnName>'=>Yii::app()->user->notAdmin),
);
}
else return array();
}
編輯:注意,這可以給你帶來麻煩如果你不小心,請在路上行駛。請參閱this issue on the Yii site for more info。
+0
是的,但是這並沒有完全解決問題。這讓我更接近了,這就是爲什麼我當時投票回來的原因。 – Turgs
2
Yii沒有辦法爲你做這件事,你可以自己做,但它很簡單。
您可以考慮範圍或查看關係並將它們全部基於當前用戶。例如,要獲得用戶的所有帖子,你可以這樣做:
$posts = Post::model()->findAll(); //WRONG
$posts = Yii::app()->user->posts(); //RIGHT (Should define the relation in the User model)
0
相關問題
- 1. 如何確保用戶只能在Firebase中查看和訪問他們自己的數據?
- 2. 在wordpress中,我如何確保用戶只能看到他自己的帖子?
- 3. 確保登錄的用戶只能訪問他的數據
- 4. Sharepoint列表,用戶只能查看他們自己的項目
- 5. 確保當前用戶將只能對自己數據的Django
- 6. SQL數據庫上的不同用戶只能看到他們自己的數據集(C#,EF)
- 7. 如何確保用戶只能編輯自己的條目?
- 8. 如何將數據插入特定用戶並在Firebase中訪問他們自己的數據?
- 9. 如何讓用戶只能訪問他們的記錄?
- 10. 如何創建一個規則,用戶只能看到他們自己的客戶在OpenERP的
- 11. Spring Security:只允許用戶訪問他們自己的管理頁面
- 12. 玩家中心排行榜不顯示分數,每個用戶只能訪問他們自己的分數
- 13. 確保認證的用戶只能更新自己的唱片
- 14. 如何確保只有登錄用戶才能訪問頁面?
- 15. 如何在Yii中保存數據並確保正確保存?
- 16. 如何確保用戶只能使用Laravel刪除自己的記錄
- 17. 限制用戶只能在Oracle SQL Developer中訪問他自己的表
- 18. 用戶只能在wordpress中看到他們的評論
- 19. TYPO3:BE用戶只能看到他們創建的記錄嗎?
- 20. Laravel 4 - 用戶只能在多用戶數據庫中訪問他的數據
- 21. PHP讓用戶只能訪問他們的ID頁面
- 22. CodeIgniter - 用戶應該只能訪問自己的圖像
- 23. 如何限制用戶訪問他自己的信息
- 24. Rails 4:如何讓用戶只能查看他們自己辦公室中的文件
- 25. 如何讓用戶只看到編輯和刪除鏈接,如果文章是他們自己的?
- 26. 我如何允許用戶只使用cancan訪問他們自己的顯示頁面?
- 27. 如何讓用戶設置哪個朋友能夠看到他們的數據?
- 28. 玩家只能從scores.list獲得他們自己的分數API
- 29. 如果用戶實時看到他們自己的表現統計信息
- 30. Drupal如何讓某些管理員只能看到他們創建的用戶
給你嘗試了一些代碼或數據庫表樣本。 – jayanthan