내 응용 프로그램에는 hasMany 관계와 관련된 두 개의 모델이 있습니다. 모델 클래스 hasMany 세션 및 여러 도시에서 클래스가 발생할 수 있으며 게시하거나 게시 취소 할 수도 있습니다. 도시 정보 (city_id)는 클래스 테이블에 저장되지만 클래스는 많은 세션을 가질 수 있으므로 세션 테이블에 클래스 타이밍이 저장됩니다.케이크에 조인 PHP
지금, 나는 모든 클래스,
-
활성
- 수업 시작 시간이 특정 도시에서 일어나고> NOW
하지 클래스를 나열 할 여러 세션을 가질 수 있으므로 모든 세션이 아닌 클래스를 한 번만 나열하려고합니다. 나는 케익 튜토리얼에 따라 조인을 사용하고 있지만 SQL이 좋지 않아 작동하지 않으며 올바르게 작동하지 않을 것이라고 확신합니다. 아래는 코드입니다.
$options['joins'] = array(
array(
'table' => 'sessions',
'alias' => 'Session',
'type' => 'left',
'conditions' => array(
'Class.city_id' => $this->data['Class']['city_id'],
'Class.state' => 'active',
'Session.start >= ' => date('Y-m-d H:i:s'),
'Class.id' => 'Session.class_id'
)
)
);
$classes = $this->Class->find('all', $options);
이 코드는 과거에 발생한 모든 수업을 모든 도시에서 반환합니다. 누군가 나를 도울 수있어 위에서 언급 한 기준에 따라 올바른 클래스를 반환합니다.
에? 이렇게하면 달성하고자하는 바를 쉽게 따라갈 수 있습니다. – Dave