ユーザーエンティティがあります。基本的なユーザーインターフェイスを実装します。
ユーザーを役割で並べ替えたいのですが、その方法がわかりません。
(これは、ManyToOneリレーションでユーザーエンティティをターゲットにしているメッセージエンティティを使用してのみ、管理者にメッセージを送信するためのものです)
ユーザーエンティティがあります。基本的なユーザーインターフェイスを実装します。
ユーザーを役割で並べ替えたいのですが、その方法がわかりません。
(これは、ManyToOneリレーションでユーザーエンティティをターゲットにしているメッセージエンティティを使用してのみ、管理者にメッセージを送信するためのものです)
$query = $this->getDoctrine()->getEntityManager()
->createQuery(
'SELECT u FROM MyBundle:User u WHERE u.roles LIKE :role'
)->setParameter('role', '%"ROLE_MY_ADMIN"%');
$users = $query->getResult();
作業をDBサーバーにオフロードします。100,000以上のレコードがある場合でも、このクエリが返されるのにそれほど時間はかかりません。
OK、多分それ:
// $users - users from db, collection of user entity class
$myAdmins = array();
foreach($users as $user){
if (in_array('ROLE_ADMIN', $user->getRoles())) {
$myAdmins[] = $user;
}
}
inには役割を$myAdmins
持つユーザーがいます。ROLE_ADMIN