0

尝试尽可能具体,因为我上次发布内容时被猛烈抨击!

用户进行身份验证,然后在 AppController 中我将它们路由到一个名为 Owners 的控制器,操作是下面的索引代码

    public $components = array(                                                                         
  'Session',                                                                                    
  'Auth' => array(                                                                              
    'loginRedirect' => array('controller' => 'Owners', 'action' => 'index')                     
)    

我是 Cake 的新手,但我的猜测是当所有者控制器触发索引函数中的代码时,它什么也不返回,这就是我在视图中收到致命错误消息的原因。(我正在阅读 Cakephp 2.0 食谱),是的,所有者表中有几个所有者,所以它不是空的。

mysql> 从所有者中选择 *;
+----+------------+--------------+----------+------- -------------+---------+---------+--------+------- ------+---------+------------+-------------+
| 编号 | 名字 | 中间名 | 姓氏 | 街道地址 | 城市| 邮政编码 | 状态 | 电话号码 | 用户 ID | 车辆编号 | 引用ID |
+----+------------+--------------+----------+------- -------------+---------+---------+--------+------- ------+---------+------------+-------------+
| 1 | 马克 | 沃尔特 | 辛普森 | 第1234章 安东 | 12345 | 葛 | 916123 456 | 1 | 空 | 空 |
| 2 | 弗兰克 | 多思米勒 | 弗兰克 | 2878 邦莱街 | 弗雷斯诺 | 95758 | 钙 | 916551 0234 | 3 | 空 | 空 |
| 3 | 托伦 | W | 瓦隆 | 8252盲栎路| 贝尔福尔 | 3889 | 加州 | 917838 8 | 1 | 空 | 空 |
| 4 | 托伦 | W | 瓦隆 | 8252盲栎路| 贝尔福尔 | 3889 | 加州 | 917838 8 | 1 | 空 | 空 |
+----+------------+--------------+----------+------- -------------+---------+---------+--------+------- ------+---------+------------+-------------+
4 行在集合中 (0.00秒)

在 Owners 控制器中,我将以下代码放入 index 函数中,

     public function index() {                                                                   

          $this->set('owners', $this->Owner->find('all'));                                      
    }

当我以用户身份登录时,我得到了这个,所有者

注意(8):未定义属性:View::$Paginator [CORE/Cake/View/View.php, line 804]

致命错误:在第 5 行的 /srv/www/www.cross-town-traffic-software.com/public_html/freecite/app/View/Owners/index.ctp 中的非对象上调用成员函数 sort()

这是所有者目录中 index.ctp 文件的第五行

<th><?php echo $this->Paginator->sort('id');?></th>      
4

2 回答 2

2

您正在尝试在视图中使用 PaginatorHelper,但尚未包含它。

添加

public $helpers = array('Paginator');

到您的控制器。有关 Helpers 的背景知识以及如何在视图中使用它们,请参阅 Cookbook 。

于 2012-07-17T21:28:18.560 回答
0

在控制器中,您必须添加

public $components = array('Paginator');

代替

public $helpers = array('Paginator');
于 2016-01-06T23:06:47.327 回答