在cakephp中执行简单查询
电影有很多关系,和电影有很多关系。关系表具有电影id字段。 我想显示电影模型视图中的关系列表。因此,在MoviesController.php中,我有:在cakephp中执行简单查询,cakephp,has-many,Cakephp,Has Many,电影有很多关系,和电影有很多关系。关系表具有电影id字段。 我想显示电影模型视图中的关系列表。因此,在MoviesController.php中,我有: public function view($id = null) { if (!$id) { $this->Session->setFlash(__('Invalid Movie', true)); $this->redirect(array('action' => 'index'
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的新手。请帮忙。谢谢您的指导。如何在视图中显示此$records?我应该把它发送到视图?
$this->set('records',$records)代码>。在视图中,您可以使用$records访问记录。它说:未定义变量:records[APP\view\Movies\view.ctp,第43行]我应该在控制器中设置$records并在视图中使用记录?
$this->loadModel('Relation');
$records = $this->Relation->find('all', array(
'recursive' => -1,
'conditions' => array('Relation.movie_id' => $movie_id),
'fields' => array('Relation.id')
));