При просмотре индекса Admin я получаю следующие ошибки:
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')); }
Есть идеи, что здесь проблема? (Я также создал модель)
Некоторые потенциальные проблемы:
Как обычно
var $name = 'Client'; // Not Clients
У вас есть Клиент, а контроллер – для «Клиентов».
Пытаться:
$this->set('clients', $this->Client->find('all'));
с приведенным выше предложением о var $name
.
См. Более полный список возможных решений здесь, если это не приведет вас к правильному пути.
CakePHP вызов функции-члена на не-объекте
Названия моделей являются единственными в CakePHP (по крайней мере, если вы следуете соглашениям об именах), что означает, что вам нужно использовать: $this->Client->find('all');