2013-04-11 1 views
0

여러 회사의 위임장을 검색 할 테이블을 만드는 데 문제가 있습니다.복잡한 검색을 위해 hasMany를 사용하여 여러 테이블 만들기

여기서

검찰은 여러 회사 (X, Y, Z)
회사는 여러 가지 (EU, 브라질, 미국 등)
가에 속하는 것

분기입니다 여러 단위가됩니다. (에너지, 석유 등)

변호사는 다양한 권한 (서명, 거래 등)을 갖습니다.

의도는 결국, 내가, 예를 들어, 수있는 변호사를 찾을 수 브라질 자회사 X의 에너지 단위로 계약을 체결 할 수 있다는 것입니다

누군가가 나를 도울 수 및 hasMany 테이블과 논리? 감사!

+0

당신은 당신이 이미 가지고있는 코드를 게시 할 수 있습니까? – Nunser

+0

코드가 없습니다. 나는 그것을 어떻게 해야할지 모르겠다 ... : ( –

+1

그 경우 나는 당신이 [케익과의 연관성]을 읽어야한다고 생각한다. (http://book.cakephp.org/2.0/en/models/associations-linking-models- together.html) 먼저 모델을 연결하는 방법을 알고 계신가요? (검찰은 hasAndBelongsToMany Companies, Companies는 많은 Branches 등을 가지고 있습니다.) 데이터베이스에 테이블이 없다고해도, 적어도 근사값을 넣으십시오. 다시 말해, 여러분은 이미 연관성을 알고 있으므로, 나머지는 모든 것을 함께 연결하는 법을 읽고 있으며, Cakephp 문서는 그 사실을 아주 잘 설명하고 있습니다. – Nunser

답변

1

평소와 같이 테이블을 작성하면 관계형 테이블을 작성해야합니다.

prosecutors_to_companies (그들은 바로, 여러 기업에 속할 수?) 그런 다음 관계형 테이블을 만들

prosecutor_id | company_id 
     1   2 
     1   4 
     2   6 

: companies_to_branchesJOINs의 도움으로 다음

company_id | branch_id 
     1   4 
     1   3 

이 검색을 필요한 데이터.

이 예는 도움이 될 수 있습니다 - http://www.sitepoint.com/understanding-sql-joins-mysql-database/

+0

CakePHP 협약에서 조인 테이블의 이름은'enterprises_prosecutors'와'branches_compa nies'. 나는. 중간에 * 'to'*가없고 알파벳순으로 조인 된 테이블. 또한 조인 테이블에 추가 정보가 포함될 경우 CakePHP가 결합 된 PK를 지원하지 않으므로 'id' 열 (일련 번호)이 있어야합니다. 설명서는 [Model and Database Conventions] (http://book.cakephp.org/2.0/en/getting-started/cakephp-conventions.html#model-and-database-conventions)에서 볼 수 있습니다. – thaJeztah