Cakephp 中的多对多关系
Many to Many Relationship in Cakephp
我已经有了徽章、用户和 badges_users table。
我想在徽章控制器中构建一个 list() 来列出会话用户拥有的所有徽章。到目前为止,我得到了这个,我不知道如何进行。它必须与分页器组件一起工作
public function list() {
$this->Badge->recursive = 0;
$this->paginate['conditions'] = array('user_id' => $this->Auth->user('id'));
$this->Paginator->settings = $this->paginate;
$this->set('badges', $this->paginate());
}
user_id 字段仅在 badge_users table 中可用,在徽章 table 中不可用,因此您应该在 badge_users 控制器中构建 list(),并且在分页设置中为徽章模型定义包含参数。
//in badges_users controller
public function list() {
$this->BadgesUsers->recursive = 2;
$this->paginate['conditions'] = array('user_id' => $this->Auth->user('id'));
//contain parameter
$this->paginate['contain'] = array('Badges');
$this->Paginator->settings = $this->paginate;
$this->set('badges', $this->Paginator->paginate('BadgesUsers));
}
我已经有了徽章、用户和 badges_users table。 我想在徽章控制器中构建一个 list() 来列出会话用户拥有的所有徽章。到目前为止,我得到了这个,我不知道如何进行。它必须与分页器组件一起工作
public function list() {
$this->Badge->recursive = 0;
$this->paginate['conditions'] = array('user_id' => $this->Auth->user('id'));
$this->Paginator->settings = $this->paginate;
$this->set('badges', $this->paginate());
}
user_id 字段仅在 badge_users table 中可用,在徽章 table 中不可用,因此您应该在 badge_users 控制器中构建 list(),并且在分页设置中为徽章模型定义包含参数。
//in badges_users controller
public function list() {
$this->BadgesUsers->recursive = 2;
$this->paginate['conditions'] = array('user_id' => $this->Auth->user('id'));
//contain parameter
$this->paginate['contain'] = array('Badges');
$this->Paginator->settings = $this->paginate;
$this->set('badges', $this->Paginator->paginate('BadgesUsers));
}