Добрый вечер,
указанный выше банд полностю игнорирует аннотации в сущностях.
Например:
use Doctrine\ORM\Mapping as ORM;
use JMS\Serializer\Annotation as JMS;
use FOS\UserBundle\Entity\User as BaseUser;
/**
* Модель пользователя
*
* @ORM\Entity
* @ORM\Table(name="user")
*
* @JMS\ExclusionPolicy("all")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
* @JMS\Expose
*/
protected $id;
/**
* @ORM\ManyToMany(targetEntity="UserGroup")
* @ORM\JoinTable(name="user_group_relation",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id")}
* )
* @JMS\Exclude
*/
protected $groups;
}
Для проверки что он вообще работает, в настройках задан длинный разделитель:
jms_serializer:
metadata:
cache: file
debug: "%kernel.debug%"
auto_detection: true
property_naming:
separator: "____"
lower_case: true
* Кеш очищал. Пробовал менять тип, игрался с другими параметрами
На выходе получаем:
[
{
"id": 3,
"username": "Admin",
"username____canonical": "admin",
"email": "ОТРЕЗАНО",
"email____canonical": "ОТРЕЗАНО",
"enabled": true,
"salt": "2ov3jq7rg12cwgck8kgs440wsc4swk8",
"password": "e4de2c084971ef0183ac507bce41ee1d57949de86e94b498f1ba8acc4f192af310282a6981d06e96db2d32e7402fdf0ef4d664c97b034e8eb0d8f0ed81a228e7",
"last____login": "2013-05-17T19:34:25+0400",
"groups": [
{
"id": 1,
"name": "Администратор",
"roles": [
"ROLE_CMS"
]
}
],
"locked": false,
"expired": false,
"roles": [
],
"credentials____expired": false
}
]
Сделал composer update
Симфония сейчас 2.1.10
Вычитал гдето, что он конфликтует с FOSRestBundle и там рекомендовали поставить специальную версию — не помогло.
Такое чувство, что гдето я что-то забыл. Может кто-то сталкивался?