2016-07-20 6 views
1

これは私の最初のDingo Api実装です。これは私のDingo Apiトランスが正しく動作しません。トランスの代わりに配列を返す

RoleTrasnformerクラスです

namespace App\Api\V1\Transformers; 

use League\Fractal\TransformerAbstract; 
use App\Role; 

class RoleTransformer extends TransformerAbstract 
{ 

    public function transform(Role $role) 
    { 

     return [ 
      'role_id' => (int)$role->id, 
      'name' => $role->name 
     ]; 
    } 

} 

私だけrole_idname

[ 

    { 
     "id": 1, 
     "name": "admin", 
     "display_name": "Admin", 
     "description": "Administrator", 
     "created_at": "2016-07-18 08:11:44", 
     "updated_at": "2016-07-18 08:11:44" 
    }, 
    { 
     "id": 2, 
     "name": "director", 
     "display_name": "Director", 
     "description": "Country Manager", 
     "created_at": "2016-07-18 08:11:44", 
     "updated_at": "2016-07-18 08:11:44" 
    }, 
    { 
     "id": 3, 
     "name": "manager", 
     "display_name": "Manager", 
     "description": "Team Manager", 
     "created_at": "2016-07-18 08:11:44", 
     "updated_at": "2016-07-18 08:11:44" 
    } 

] 
を取得することになったがこれはRoleController

namespace App\Http\Controllers; 

use Dingo\Api\Routing\Helpers; 
use Illuminate\Http\Request; 
use Dingo\Api\Http\Response; 
use App\Role; 
use App\Http\Requests; 
use App\Api\V1\Transformers\RoleTransformer; 

class RoleController extends Controller 
{ 
    use Helpers; 

    public function index(){ 
     $roles = Role::all(); 

     return $this->response->collection($roles, new RoleTransformer()) 
           ->setStatusCode(200); 
    } 
} 

です

私が間違っていることがわかりません。グリッチを特定するのを手伝ってください。

public function index(){ 
    $roles = Role::all(); 
    $rt = new RoleTransformer(); 

    return $this->response->collection($roles, $rt->transform($roles)) 
          ->setStatusCode(200); 
} 

それとも、出力のみにコンストラクタを行うことができます。Laravel 5.2とディンゴの[email protected]

を使用して

TIA
が Ariful

+0

溶液を見いだした。 'config/api.php'ではurl接頭辞は' '接頭辞' => env( 'API_PREFIX'、 'api'); 'に設定されていましたが、私のルートでは' api'接頭辞なしでテストしていました。まもなく私は 'api'をルートに設定しました。それは魅力のように働いています。 –

答えて

0

は、この部分があるべきではないですIDと名前??助けてくれたら教えてください!

+0

申し訳ありませんが、この解決策は機能していません。 'transform()' return配列と 'collection()'の第2引数はTransformerクラスである必要があります。私が提出したコードは、dingoのドキュメントのフルコピーです。 –

関連する問題