繁体   English   中英

Laravel Dingo / Api主义

[英]Laravel Dingo/Api Doctrine

我之所以努力,是因为Dingo似乎只能转换Eloquent的集合和对象。 我可以使用Collection :: make()方法解决返回集合的问题。

但是如何返回单个用户对象呢? (请参见方法getUser())

<?php

namespace App\Http\Controllers;

use App\Entities\User;
use App\Transformer\UserTransformer;
use Dingo\Api\Http\Response;
use Dingo\Api\Routing\Helpers;
use Doctrine\ORM\EntityManagerInterface;
use App\Http\Requests;
use Illuminate\Routing\Controller;
use Illuminate\Support\Collection;

class UsersController extends Controller
{
    use Helpers;

    protected $em;

    /**
     * UsersController constructor.
     * @param $em
     */
    public function __construct(EntityManagerInterface $em)
    {
        $this->em = $em;
    }

    public function getUser($id)
    {
        $user = $this->em->getRepository(User::class)->findOneBy(array('id' => $id));

        return $user;
    }


    public function getUsers()
    {
        $user = $this->em->getRepository(User::class)->findAll();

        return $this->response->collection(Collection::make($user), new UserTransformer);
    }

}

幸运的是,我现在找到了一个可行的解决方案。 我想分享这一点,并希望能够帮助其他人:

    return $this->response->item($user, new UserTransformer());

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM