gpt4 book ai didi

CakePHP 调用非对象成员函数

转载 作者:行者123 更新时间:2023-12-01 11:08:43 25 4
gpt4 key购买 nike

我有以下模型和 Controller 文件,当我访问此网址时,http://....../pois/index 我收到此错误:

注意事项 (8):未定义的属性:PoisController::$Poi [APP/controllers/pois_controller.php,第 5 行]

fatal error :在第 5 行的/home/joecoyle/public_html/app/controllers/pois_controller.php 中调用非对象的成员函数 find()

模型是这样的,叫做poi.php:

<?php
class Poi extends AppModel {

}
?>

Controller 就是这个,名为pois_controller.php

<?php
class PoisController extends AppController {

function index(){
$this->set('pois',$this->Poi->find('all'));
}
}
?>

因为我是 CakePHP 的新手,我不确定是什么导致了这个错误,因为一切似乎都被命名了,对吧,我正在按照 CakePHP 网站上的教程...

谢谢

最佳答案

您需要添加 var $name = "Poi"; 以在 Controller 中初始化您的类。

而且我已经在 PHP5 中测试过了,看来这是必要的。

编辑: Controller 文件名:pois_controller.php,代码:

 <?php
class PoisController extends AppController
{
var $name = "Poi";
function index()
{
debug($this->Poi);
exit;
}
}
?>

数据库名称:pois.Structure:id,name

并且使用/pois/会得到:

Poi Object
(
[name] => Poi
[useDbConfig] => default
[useTable] => pois
[displayField] => name
[id] =>
[data] => Array
(
)

[table] => pois
[primaryKey] => id
[_schema] => Array
(
[id] => Array
(
[type] => integer
[null] =>
[default] =>
[length] => 11
[key] => primary
)

[name] => Array
(
[type] => integer
[null] =>
[default] =>
[length] => 11
)
...etc

关于CakePHP 调用非对象成员函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2621556/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com