回答
$query = $this->getDoctrine()->getEntityManager()
->createQuery(
'SELECT u FROM MyBundle:User u WHERE u.roles LIKE :role'
)->setParameter('role', '%"ROLE_MY_ADMIN"%');
$users = $query->getResult();
將作業卸載到您的數據庫服務器。這個查詢不需要很長時間就可以返回,即使有超過100,000條記錄。
好吧,也許:
// $users - users from db, collection of user entity class
$myAdmins = array();
foreach($users as $user){
if (in_array('ROLE_ADMIN', $user->getRoles())) {
$myAdmins[] = $user;
}
}
在
$myAdmins
有用戶具有ROLE_ADMIN
的作用。
中找到只有我的管理員(ROLE_ADMIN),如果我的數據庫中有123000個用戶,則此解決方案會佔用大量內存 – rudak 2013-03-18 13:07:12
ok,db中的'roles'存儲爲可串行化的字符串,對我來說,解決方案是在用戶表中添加字段,該字段表示用戶具有ROLE_ADMIN,並且獲取所有設置該字段的用戶。 – mkjasinski 2013-03-18 13:12:19
這個包含在數組中的角色系統阻止了數據庫中的所有排序。什麼是管理員或任何其他角色的狗屎。 – rudak 2013-03-18 13:21:44
- 1. Laravel。按用戶角色排序,關係
- 2. 按降序進行角度排序
- 3. 按字母順序對角度對象進行排序
- 4. 如何按用戶編號對用戶的ArrayList進行排序
- 5. 對顏色/顏色值進行排序
- 6. 我怎麼能通過角色在JavaScript中對用戶進行排序?
- 7. Symfony Finder:如何按大小對文件進行排序?
- 8. Javascript:按時間順序對用戶輸入進行排序
- 9. 按QML中的角色對QAbstractListModel派生模型進行排序ListView
- 10. 讓用戶對記錄進行排序?
- 11. 在角js中對列進行排序
- 12. 如何使用Symfony Finder組件按DESC順序對文件進行排序?
- 13. 按升序對數組進行排序
- 14. 按降序對數字進行排序
- 15. 按降序對數組進行排序
- 16. 按升序對數字進行排序
- 17. 按降序對數組進行排序
- 18. wordpress:按「生日」對用戶進行排序
- 19. Powershell - 按用戶名和創建時間對錶進行排序
- 20. 按用戶位置對NSFetchedResultsController結果進行排序
- 21. 如何按用戶ID對ckrecords進行排序?
- 22. 如何按角度對名稱進行排序
- 23. 按鍵排序後按值對multimap進行排序
- 24. 按顏色編碼的單元格對數據進行排序
- 25. 按顏色對10,000個圖像進行排序
- 26. 使用排序按大小對列進行排序
- 27. Symfony的用戶角色繼承
- 28. Symfony Security看不到用戶的角色
- 29. symfony創建用戶和角色
- 30. AWS s3服務和symfony用戶角色
但工作排序如何?按名字?按角色數量? – mkjasinski 2013-03-18 11:01:23
我想在我的用戶實體 – rudak 2013-03-18 11:15:16