/**
  * Syncronize a data column
  */
 private function syncColumn($filter, $column, $value)
 {
     $em = $this->getDoctrine()->getManager();
     $attr = $em->getRepository('ClubUserBundle:FilterAttribute')->findOneBy(array('filter' => $filter->getId(), 'attribute' => $column));
     if (!strlen($value) && $attr) {
         $em->remove($attr);
     } elseif (strlen($value)) {
         if (!$attr) {
             $attr = new \Club\UserBundle\Entity\FilterAttribute();
             $attr->setFilter($filter);
             $attr->setAttribute($column);
         }
         $attr->setValue($value);
         $em->persist($attr);
     }
 }
示例#2
0
 public function createFilter(\Club\UserBundle\Entity\User $user)
 {
     $filter = new \Club\UserBundle\Entity\Filter();
     $filter->setFilterName('Working');
     $filter->setActive(0);
     $filter->setUser($user);
     $attributes = $this->_em->getRepository('ClubUserBundle:Attribute')->findAll();
     foreach ($attributes as $attr) {
         $filter_attr = new \Club\UserBundle\Entity\FilterAttribute();
         $filter_attr->setFilter($filter);
         $filter_attr->setAttribute($attr);
         $filter->addAttributes($filter_attr);
         $this->_em->persist($filter_attr);
     }
     $this->_em->persist($filter);
     return $filter;
 }