스포츠가 선택된 스포츠 인 게임 목록을 매김하고자합니다.파생 된 필드의 CakePHP 매김 조건
$this->paginate = array('limit' => 30, 'page' => 1,
'conditions' => array('Competition.Team.sport_id' => '1'),
'contain' => array('Competition', 'Competition.Team',
'Gamefield', 'Changingroom', 'ChangingroomAway', 'Gametype'),
'order'=>array('game_date'=>'asc'),
);
사람이 수 : 다음은 작동하지 않습니다 내가하고 싶은 무엇 게임에 BelongsTo 경쟁에 BelongsTo 팀에 BelongsTo 스포츠 는 팀 = 1 을 sport_id 모든 게임을 보여줄 수 있습니다 : relatition는 다음과 같다 이거 도와 줘?
호기심에서 벗어나서 어떤 성능 저하가 발생하고 있습니까? 테이블이 크면 테이블에 2 개의 조인을 수행하는 것이 실제로 정말 느릴 수 있습니다. 비록 페이지 매김에 사용한 적이 없지만 Containable 비헤이비어는 이러한 조인에 대해 최적화 될 수 있습니다. 결국, 다 대다 조인은 데이터베이스 계층에서 매우 비쌀 수 있습니다. –
이것은 프로덕션에서 사용되는 ad-hoc 조인의 좋은 예입니다. 많은 사람들이 여러 쿼리 대신 조인을 사용하는 방법을 찾고있는 것 같습니다. 여기에 완벽한 쇼가 있으며 그들에게 이야기합니다. –
트래비스, 이것은 성능을 떨어 뜨리는 것이 아니라 여러 개의 쿼리를 포함 할 수있는 대신 하나의 쿼리 만 생성합니다. 결과 쿼리를 보면 두 개의 추가 조인을 제외하고 둘 다 동일한 쿼리를 수행한다는 것을 알 수 있습니다. contains를 사용하면이 쿼리 후에 추가 쿼리를 얻을 수 있습니다. – Michael