2015-01-26 2 views
0

Cake 리소스를 사용하여 REST API를 생성 중입니다.다른 이름을 가진 CakePHP 3 라우팅 리소스

/사용자

지금은

/프로젝트/프로젝트에 사용자를위한 중첩 된 자원을 만들려면 : 나는 사용자의 노선이 projectId/사용자

그러나이 컨트롤러에서는 UsersController를 사용하고 싶지 않습니다. 다른 컨트롤러를 사용하고 싶습니다. 내 경로는 다음과 같습니다

$routes->resources('Users'); 
$routes->resources('Projects', function ($routes) { 
    $routes->resources('Members'); 
}); 

내가 MembersControlles에 대한 경로가 회원하지만 사용자가 아님을 설정하는 방법을 모르겠어요.

+0

매우 유용 할 수 있다고 생각하지만, 별칭 유형을 만들 수 있다고 생각하지 않습니다. github에서 개선 요청 티켓을 열어보십시오. –

답변

1

메모리의 리소스에 대한 별칭이 없습니다. 리소스에 전달 된 문자열이 컨트롤러 이름입니다. 따라서 '회원'을 통과하면 CakePHP는 MembersController를 찾습니다. 하지만 엔티티는 분명히 사용자라고하며 컨트롤러는 UsersController입니까? 색인을 포함하고, RESTful API를위한 메소드를 추가, 편집, 삭제해야한다. 상속을 시도 할 수있는 별칭을 만들려면 MembersController를 만들어서 UsersController를 확장 할 수 있습니까?

+0

글쎄, 문제는 별칭뿐 아니라 다른 기능을 원한다는 것입니다. MembersController 인덱스는 프로젝트와 연결된 사용자 목록을 반환하지만 UsersController는 모든 사용자의 목록을 반환합니다. 또한 MembersController delete는 프로젝트에서 사용자를 삭제하고 삭제하지 않습니다. 따라서 상속이 나를 어떻게 도와 줄 수 있는지 잘 모르겠습니다. 그. –

+0

죄송합니다. 설명하신대로였습니다. 사용자와 프로젝트 사이에 users_projects와 같은 조인 테이블이 있다고 가정합니다. HasManyAndBelongsToMany 관계가 정의되어 있습니까? –

관련 문제