0

映画には多くの関係があり、関係は映画に属しています。Relationsテーブルにはmovie_idフィールドがあります。映画モデルの観点から関係のリストを表示したい。だからMoviesController.phpで私は持っています:

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

しかし、私が必要とするクエリは次のとおりです。

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

私はcakephpを初めて使用します。助けてください。

4

1 に答える 1

1
$this->loadModel('Relation');
$records = $this->Relation->find('all', array(
                'recursive' => -1,
                'conditions' => array('Relation.movie_id' => $movie_id),
                'fields' => array('Relation.id')
            ));
于 2013-02-05T11:03:45.267 に答える