CakePHP:视图与控制器不同步
我遇到了一个奇怪的问题,在控制器中,从一个表传递一条记录,但视图最终显示了整个表 我有大量的日志记录,并且非常确定控制器正在通过$this->set()传递一条记录 控制器(联系人控制器:显示列表) 日志中的输出:CakePHP:视图与控制器不同步,cakephp,Cakephp,我遇到了一个奇怪的问题,在控制器中,从一个表传递一条记录,但视图最终显示了整个表 我有大量的日志记录,并且非常确定控制器正在通过$this->set()传递一条记录 控制器(联系人控制器:显示列表) 日志中的输出: Debug: Array ( [0] => Array ( [Contact] => Array ( [id] => 504
Debug: Array
(
[0] => Array
(
[Contact] => Array
(
[id] => 504
[name] => Michael
[city] => New York
)
)
)
Debug: show_list : 303
在视图文件(show_list.ctp)中,我有
<div class="contacts index">
<?php echo print_r($contacts);?>
在视图文件中,打印表中所有记录的列表。cakephp显示的SQL转储显示正在进行其他SQL调用。然而,目前还不清楚这些电话是从哪里打来的
其余的控制者和行动似乎运作良好,排除了任何腐败问题
以前有没有人遇到过类似的情况?有指针吗?将paginate()函数的输出传递给视图,这与您自己的find()调用不同
如果您想要与find()相同的条件。将它们传递给paginate()(提示:首先将条件放入数组)将paginate()函数的输出传递给视图,这与您自己的find()调用不同
如果您想要与find()相同的条件。将它们传递给paginate()(提示:首先将您的条件放入数组)如果您不需要paginate,因为您只从Db获得一行条目,那么您应该重写
$this->set()
,如下所示:
$this->set('contacts',$contacts);
如果需要分页(?),则需要将整个函数设置为:
$this->paginate = array(
'conditions' => array(
'Contact.state_id' => $i_state_id,
'Contact.city'=> $str_city
),
'fields' => array(
'Contact.id',
'Contact.name',
'Contact.city'
),
'recursive' => -1
);
$this->log ($this->paginate, 'debug');
$this->set('contacts', $this->paginate());
$this->log(__FUNCTION__." : ".__LINE__, 'debug' );
如果您似乎不需要分页,因为您只从Db获得一行条目,那么您应该重写
$this->set()
,如下所示:
$this->set('contacts',$contacts);
如果需要分页(?),则需要将整个函数设置为:
$this->paginate = array(
'conditions' => array(
'Contact.state_id' => $i_state_id,
'Contact.city'=> $str_city
),
'fields' => array(
'Contact.id',
'Contact.name',
'Contact.city'
),
'recursive' => -1
);
$this->log ($this->paginate, 'debug');
$this->set('contacts', $this->paginate());
$this->log(__FUNCTION__." : ".__LINE__, 'debug' );
我需要分页,因为有些查询可能有多条记录。我已经通过了第一步,使用$this->paginate。但是,搜索结果的第二页+未显示有效数据,并抛出与未定义变量、foreach()的无效参数等相关的错误/消息。。。查询参数似乎不适用于第2页、第3页。。。。如何将查询参数发送到后续页面?我需要分页,因为某些查询可能有多条记录。我已经通过了第一步,使用$this->paginate。但是,搜索结果的第二页+未显示有效数据,并抛出与未定义变量、foreach()的无效参数等相关的错误/消息。。。查询参数似乎不适用于第2页、第3页。。。。如何将查询参数发送到后续页面?