2011-07-16 46 views
2

我看我的聯繫指數CakePHP的:調用一個成員函數find()方法非對象

Notice (8): Undefined property: ClientsController::$Clients [APP/controllers/clients_controller.php, line 27] 

Call to a member function find() on a non-object in /Users/cameron/Sites/crm/app/controllers/clients_controller.php on line 27 

這裏時,遇到下列錯誤的是代碼:

class ClientsController extends AppController 
{ 
    var $name = 'Clients'; 

    function beforeFilter() 
    { 
     parent::beforeFilter(); 
     $this->Auth->allow(array('*')); 
    } 

    function index() 
    { 
     $this->set('clients', $this->Clients->find('all')); 
    } 

    function view ($id, $slug) 
    { 
     $article = $this->Clients->read(null, Tiny::reverseTiny($id)); 

     $this->set(compact('client')); 
    } 

    function admin_index() 
    { 
     $this->set('clients', $this->Clients->find('all')); 
    } 

任何想法問題在這裏? (我創建了一個模型還)

回答

3

的一些潛在問題:

var $name = 'Client'; // Not Clients 

你有一個客戶端,而控制器是爲「客戶」。

嘗試:

$this->set('clients', $this->Client->find('all')); 

var $name上述建議。

如果這不會導致您走向正確的道路,請參閱此處可能的解決方案的更完整列表。

CakePHP call to member function on non-object

+0

我試過上面提到的解決方案,但它不起作用。對我來說,問題是在4種可能的情況中,只有一種情況顯示此錯誤,其餘3種正常工作。 –

1

型號名稱是CakePHP的(至少,如果你遵循的命名約定),這意味着你必須用單數:$this->Client->find('all');

相關問題