2011-06-11 6 views
1

Symfony-Doctrine 기반 응용 프로그램을 개발 중입니다. 내가 콘크리트 테이블 상속 전략을 사용.하지만 지금은 몇 가지 문제에 직면했다.Symfony concrete table 상속

제품 :이 일부 property는

컴퓨터 : 제품을 확장 나는 다음과 같은 테이블이있다.

Notebook : 컴퓨터 확장.

Ipad : 컴퓨터를 확장하십시오.

.... 다른 카테고리의 테이블이 많습니다. 다음 질문이 있습니다. 도움을 주시겠습니까?

  • 내 메인 페이지에는 제품 이름에 따라 검색을하는 검색 상자가 있습니다. 어떤 테이블에서 검색 쿼리를 작성해야합니까?

  • 두 번째 질문. 다시 한 번 내 메인 페이지에서 다른 테이블의 일부 제품을 보았습니다. 그런 다음 사용자가이 제품 중 하나를 클릭합니다. 테이블 ID를 어떻게 결정할 것인가?

답변

1

콘크리트 상속은 아마도 가장 깨끗한 스키마를 제공하지만 여러 테이블을 쿼리 할 수는 없습니다. 따라서 구체적인 상속을 사용하려면 각 하위 모델 클래스에 대한 쿼리를 작성하고 결과를 병합해야합니다. 내가 너라면, this page about the search in symfony을 읽고이 다중 클래스 검색을 달성하기 위해 lucene 쿼리를 작성합니다. 더 빨라지고 더 쉬울 것입니다.

제품 경로는 다음과 같습니다./product/: product_category/: product_subcategory/id 테이블에서 고유하지 않은 ID로 제품을 찾을 수 없습니다.

+0

관심을 가져 주셔서 감사합니다. 나는 그 기사를 읽을 것이다. 또한 나는 두 번째 질문을 편집했다. – qasanov

+1

@ kasanov : 답변을 업데이트했습니다. – greg0ire