I am making a PHP forum with CakePHP I am troubles with getting an array of all the members then echoing them in a view, here is my code.
<?php
App::uses('AppModel', 'Model');
class Member extends AppModel {
public $validate = array(
'username' => array(
'notEmpty' => array(
'rule' => array('notEmpty')
),
),
'password' => array(
'notEmpty' => array(
'rule' => array('notEmpty')
),
),
'email' => array(
'email' => array(
'rule' => array('email')
),
),
);
public $hasMany = array(
'Post' => array(
'className' => 'Post',
'foreignKey' => 'user_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
),
'Topic' => array(
'className' => 'Topic',
'foreignKey' => 'user_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
}
That is my member model here is my MembersController
<?php
App::uses('Controller', 'AppController');
class MembersController extends AppController {
public $components = array('Paginator');
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('profile','login');
}
public function index(){
$this->Paginator->settings['contain'] = array('Member');
$this->set('members', $this->Paginator->paginate());
}
public function profile($id=null) {}
public function login() {
if($this->request->is('post')) {
if ($this->Auth->login()) {
$this->redirect($this->Auth->redirect());
} else {
$this->Session->setFlash(__('Invalid username or password'));
}
}
}
public function logout() {
$this->redirect($this->Auth->logout());
}
}
And here is my Index view
<div class="row">
<?php foreach ($members as $member): ?>
<?php echo $user[name]; ?>
<?php endforeach; ?>
</div>
When I access example.com/members I get an error saying Model "Member" is not associated with model "Member" [CORE/Cake/Model/Behavior/ContainableBehavior.php, line 342]
Before you ask I have made AppModels actas Containable
class AppModel extends Model {
public $actsAs = array('Containable');
}