2013-02-05 2 views
0

영화에는 많은 관계와 관계의 belongsTo 동영상이 있습니다. 관계 테이블에 movie _id 필드가 있습니다. 영화 모델의 관점에서 관계 목록을 보여주고 싶습니다.cakefp에서 간단한 쿼리를 실행

public function view($id = null) { 
    if (!$id) { 
     $this->Session->setFlash(__('Invalid Movie', true)); 
     $this->redirect(array('action' => 'index')); 
     } 
    $this->set('Movie', $this->Movie->read(null, $id)); 
    $cid = $this->Movie->read('Relation.id'); 
    $cid_extract = Set::extract($cid, 'Relation.id'); 
    $this->set('planComps', $this->Movie->find('all',array('conditions' => array("movie_id" => $cid_extract)))); 
} 

을하지만 난

Error: SQLSTATE[42S22]: Column not found: 1054 Unknown column 'Relation.id' in 'field list' 

SQL Query: SELECT `Relation`.`id`, `Movie`.`id` FROM `myproject`.`movies` AS `Movie` WHERE `Movie`.`id` = 1 LIMIT 1 

를 볼 수 있지만 내가 필요로하는 쿼리는 다음과 같습니다 : 그래서 MoviesController.php에 내가 가지고 내가 CakePHP의 새로운이야

SELECT `Relation`.`id` FROM `myproject`.`relations` AS `relation` WHERE `Movie`.`id` = 1 LIMIT 1 

. 도와주세요.

답변

1
$this->loadModel('Relation'); 
$records = $this->Relation->find('all', array(
       'recursive' => -1, 
       'conditions' => array('Relation.movie_id' => $movie_id), 
       'fields' => array('Relation.id') 
      )); 
+0

감사합니다. 이 $ 레코드를 어떻게 보여줄 수 있습니까? 나는 그것을보아야한다? – sahar

+0

'$ this-> set ('records', $ records);'. 보기에서 $ 레코드를 사용하여 레코드에 액세스 할 수 있습니다. –

+0

그것은 : 정의되지 않은 변수 : 기록 [APP \ View \ Movies \ view.ctp, 43 행] – sahar