douchenzhan3050 2016-04-11 10:01
浏览 19
已采纳

too long

I want to get attributes that have a serialization group and the group name.

i.e : I want to get bus_write from this attribute of my entity.

/**
     * @var ArrayCollection<Driver> The driver of this bus.
     * @ORM\ManyToMany(targetEntity="Driver", mappedBy="bus",cascade={"persist","remove","merge"})
     * @ORM\JoinColumn(name="DRIVER_id", referencedColumnName="id")
     * @Groups({"bus_write"})
     */
    private $driver;
  • 写回答

1条回答 默认 最新

  • douzhengzuo7283 2016-04-11 10:53
    关注

    This one should do the trick:

    $reader = $this->container->get('annotation_reader');
    $refClass = new \ReflectionClass('AppBundle\Entity\Bus');
    $refProp = $refClass->getProperty('driver');
    $annotations = $reader->getPropertyAnnotations($refProp);
    
    // Find the Groups annotation
    foreach ($annotations as $annot) {
        if ($annot instanceof \JMS\Serializer\Annotation\Groups) {
            $groups = $annot->groups;
            break;
        }
    }
    
    dump($groups); // array:1 [0 => 'bus_write']
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥50 切换TabTip键盘的输入法
  • ¥15 可否在不同线程中调用封装数据库操作的类
  • ¥15 微带串馈天线阵列每个阵元宽度计算
  • ¥15 keil的map文件中Image component sizes各项意思
  • ¥20 求个正点原子stm32f407开发版的贪吃蛇游戏
  • ¥15 划分vlan后,链路不通了?
  • ¥20 求各位懂行的人,注册表能不能看到usb使用得具体信息,干了什么,传输了什么数据
  • ¥15 Vue3 大型图片数据拖动排序
  • ¥15 Centos / PETGEM
  • ¥15 划分vlan后不通了