Laravel Dingo嵌套变形金刚

时间:2017-07-04 07:56:17

标签: laravel dingo-api

我正在尝试使用变换器获得一对多的关系对象。我想获得包含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);
    }
}

1 个答案:

答案 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发送请求以获得此类结果。