2012-04-16 6 views
0

내 응용 프로그램에는 내 컨트롤러가 일반적으로 사용하는 많은 메소드가 있습니다. 처음에는 컨트롤러에 복사 한 다음 AppController에 넣어야한다는 것을 알았습니다. 그래서. "$ this-> commonmethod"에 의해 파생 된 컨트롤러에서 해당 메서드에 도달CakePHP에서 여러 데이터베이스 테이블 사용하기

그래서 내가 다른 데이터 형식을 만드는 방법은 내 데이터베이스에 4-5 다른 테이블에 넣어야합니다. 대부분의 테이블에는 서로간에 관계가 없습니다.

그러나 대부분의 컨트롤러는 해당 테이블을 사용하여 관련 데이터를 가져옵니다.

  1. 내가 플러그인 또는 구성 요소에 나의 일반적인 컨트롤러 코드를 삽입해야 (나는 테이블 사이의 관계를 가지고 블로깅, 카테고리와 태그.에 대한 예제가, 요리 책의 예제를 확인)? 또는 결정 기준은 무엇입니까?
  2. 컨트롤러 또는 구성 요소에서 여러 데이터베이스 테이블을 사용할 수 있습니까?
  3. 데이터 소스 또는 동작이이 경우에 적합합니까?

때문에 CakePHP의에서, 데이터베이스를 재 설계 에 (가능한 경우)

답변

1

우리는 데이터베이스 구조, 컨트롤러 메소드 및 사용 방법에 대해 많이 모르기 때문에 최선의 접근 방식이 무엇인지 말할 수 없습니다. 질문의

그러나 사람은 매우 간단합니다 :

그것은 컨트롤러 또는 구성 요소에서 여러 데이터베이스 테이블을 사용할 수 있습니까?

예, 가능합니다. 케이크가 모델 이름에서 테이블 이름을 자동으로 검색 할 수없는 경우 public $useTable = 'tablename을 사용하여 각 테이블에 대한 모델을 만드십시오. 그런 다음 AppController (코드가 계속 남아있을 것으로 간주 함)에서 다음을 사용하십시오.

public $uses = array('List', 'all', 'models', 'you', 'need'); 
+0

대단히 고마워요. 이것은 나의 문제를 빨리 해결했다. 이제 나의 AppController는 3 개의 다른 모델을 3 개의 테이블에 사용한다. – trante

1

가장 좋은 방법은 사전에 문제의 좋은 데이터베이스 설계 해결의 절반을 주셔서 감사합니다. 이것이 가능하지 않다면 두 번째 것은 구성 요소이고이 구성 요소를 사용하면 여러 개의 데이터베이스 테이블을 사용할 수 있습니다.

관련 문제