0
我在生產環境中上傳了CakePHP應用程序。它正在處理我和我朋友的本地主機。在生產我試圖訪問不同的控制器時,出現以下錯誤:CakePhp對象錯誤
錯誤:調用一個成員函數查找()一個非對象
文件:/app/Controller/GroupsController.php
線:10
<?php
class GroupsController extends AppController {
var $name = 'Groups';
var $displayField = 'name';
var $helpers = array('Paginator', 'Html', 'Form');
function index() {
$groups = $this->Group->find('all');
$members = $this->Group->GroupMember->find('all', array('order' => array('GroupMember.date_checked DESC'))); //Line 10!
$owners = $this->Group->GroupContact->find('all', array('conditions' => array('GroupContact.owner' => 1)));
$this->set(compact('groups', 'members', 'owners'));
}
它看起來像無法讀取GroupMember作爲對象。
型號 - groupMember.php
<?php
class GroupMember extends AppModel{
var $name = 'GroupMember';
var $belongsTo = array(
'Group' => array(
'className' => 'Group',
'foreignKey' => 'group_id'
)
);
}
?>
型號 - group.php
<?php
class Group extends AppModel{
var $name = 'Group';
var $hasMany = array(
'GroupMember' => array(
'className' => 'GroupMember',
'foreignKey' => 'id',
)
);
}
?>
你可以看到在http://www.thesupergroupproject.com/groups
同樣錯誤 - 項目工作無論是在我的本地主機還是我朋友的本地主機上。什麼可能導致錯誤?
首先,您的代碼鏈接已經被破壞 - 您不應該在SO上添加非永久鏈接到您的問題。無論如何,因爲你的代碼已經在兩個系統上測試過了,所以我會先確定你的生產系統不是問題。您的生產系統和其他兩臺機器與任何LAMP堆棧(Apache,Mysql和PHP)之間是否存在任何版本不匹配? – Daniel
我在同一臺服務器上在Cake中部署了一個不同的項目,並且它之前工作正常。 – user197483
同一版本的Cake?過去幾乎沒有什麼變化讓我這樣陷入困境。這是你的模型如何資本化?命名約定在1.3和2之間變化,如果它是2.0+應用程序,它們應該是'GroupMember.php'和'Group.php'。 – Daniel