我正在尝试使用变换器获得一对多的关系对象。我想获得包含metas但我只获得常规变换字段。
我的变压器:
class AssistantTransformer extends TransformerAbstract
{
protected $availableIncludes = [
'assistantmetas'
];
public function transform(User $user)
{
return [
'id' => (int) $user->id,
'firstname' => ucfirst($user->first_name),
'lastname' => ucfirst($user->last_name),
];
}
public function includeMetas(User $user)
{
$assistantmetas = $user->userMetas;
return $this->item($assistantmetas, new AssistantsMetaTransformer);
}
}
答案 0 :(得分:1)
只需使用 /**
* @ORM\ManyToOne(targetEntity="Application\Sonata\UserBundle\Entity\User")
* @ORM\JoinColumn(name="created_by", referencedColumnName="id" , onDelete="CASCADE")
*/
private $createdBy;
/**
* @ORM\ManyToOne(targetEntity="Application\Sonata\UserBundle\Entity\User")
* @ORM\JoinColumn(name="updated_by", referencedColumnName="id" , onDelete="CASCADE")
*/
private $updatedBy;
不可用的包含,因为它需要通过defaultIncludes
发送请求以获得此类结果。