with texto strip_tags remove limpiar from eliminar allow all php symfony1 doctrine symfony-1.4 sfdoctrineguard

php - texto - string strip_tags



obtener todos los grupos de los usuarios-sfDoctrineGuardPlugin (2)

Consulte la clase sfGuardSecurityUser: https://github.com/Garfield-fr/sfDoctrineGuardPlugin/blob/master/lib/user/sfGuardSecurityUser.class.php

if ($this->getUser()->hasGroup(''TEST'')) { //if user is on group TEST }//end if // get all groups $userGroups = $this->getUser()->getGroups();

En sfDoctrineGuardPlugin es:

sfGuardUser: actAs: [Timestampable] columns: first_name: string(255) last_name: string(255) // indexes: is_active_idx: fields: [is_active] relations: Groups: class: sfGuardGroup local: user_id foreign: group_id refClass: sfGuardUserGroup foreignAlias: Users sfGuardGroup: actAs: [Timestampable] columns: name: type: string(255) unique: true description: string(1000) relations: Users: class: sfGuardUser refClass: sfGuardUserGroup local: group_id foreign: user_id foreignAlias: Groups sfGuardUserGroup: options: symfony: form: false filter: false actAs: [Timestampable] columns: user_id: type: integer primary: true group_id: type: integer primary: true relations: User: class: sfGuardUser local: user_id onDelete: CASCADE Group: class: sfGuardGroup local: group_id onDelete: CASCADE

Esta es una relación de muchos a muchos y ¿cómo puedo obtener todos los grupos de usuarios?

  • @method Doctrine_Collection
    getGroups () Devuelve la colección "Grupos" del registro actual

yo hago:

$this->groups = $this->getUser()->getGuardUser()->getGroups();

este regreso:

Doctrine_Collection data : Array( )

¿Cómo puedo verificar si el usuario está en el grupo TEST?

¡Gracias por la ayuda!


Puede intentar usar una consulta para encontrar grupos de su usuario:

$user_id = $this->getUser()->getGuardUser()->getId(); $groups = Doctrine_core::getTable(''sfGuardGroup'')->create_query(''g'')->innerJoin(''g.users u with u.id= ?'', $user_id);