0

CMS를 만들려고 노력하는 목표

의 설명 (내부 용, 그러나 많은 사이트)를 새 테이블을 만듭니다.

일반 Content 모델을 갖고 싶습니다. 그리고 나서 다양한 사용자 생성 콘텐츠 types을 갖고 싶습니다.

이 작업은 간단 할 수 있지만 사이트의 모든 콘텐츠가 있으면 내 contents 테이블이 엄청나게 커집니다. 쿼리 시간/사이트 속도 등을 돕기 위해 테이블로 분할하고 싶습니다.

내 생각 (가능한 경우 확실하지가) 어떻게 든 컨텐츠의 type 필드는 content_articles 테이블을 사용해야 "기사"이면 것을 ... 등이 테이블이 afterSave 생성 될 수 CakePHP의 말씀하는 것입니다

(I 새로운 content_type을 만들 때 가정합니다.

특정 콘텐츠 유형을 사용할 필드를 지정하는 것이 좋을 것입니다. 심지어 필드 추가/제거를 통해 관리 할 수도 있습니다. 그런 다음 테이블의 해당 필드 만 생성하고 어떻게 든 유효성 검사를 수행합니다. content_fields 테이블 데이터를 기반으로합니다.

//my thoughts on tables:  
content_types //id, name, description, use_table 
content_fields //id, name, content_type_id, required, field_type, max_chars 
content_articles //generated by code 
content_people //generated by code 

질문 : 그것도 가능

인가? 이 문제를 해결할 더 좋은 방법이 있습니까?

답변

0

Perhapse는 표준 표보다는 콘텐츠에 키 값 표를 사용합니까? CakeDC의 utils 플러그인은 지원되는 RDBMS를 사용하여이를 수행 할 수 있습니다.

또는 MongoDB와 같은 키 값 데이터 소스를 사용하도록이 모델을 설정할 수 있습니다. 이는 NoSQL을 사용하는 훌륭한 유스 케이스입니다. 대규모 키 값 저장소와 변화하는 스키마에 대해 이야기하고 있다면 아마도이 접근 방식을 취할 것입니다. github에 MongoDb 용 플러그인이 있습니다.