CakePHP中连接用户的不同视图

时间:2016-10-09 11:30:14

标签: cakephp associations

我有3个控制器/表用户 / 地址 / AdressesUsers

这是我的地址查看功能

/**
 * View method
 *
 * @param string|null $id Adress id.
 * @return \Cake\Network\Response|null
 * @throws \Cake\Datasource\Exception\RecordNotFoundException When record not found.
 */
public function view($id = null)
{
    $this->viewBuilder()->layout('user');
    $uid = $this->request->session()->read('Auth.User.id');

    $adress = $this->Adresses->get($id, [
        'contain' => ['Users']
    ]);

    $counter = 0;
    foreach($adress['users'] as $userid){
        $users[$counter] = $userid['id'];
    }

    if(in_array($uid, $users)) {
        $adress['dabei'] = 1;
    } else {
        $adress['dabei'] = 0;            
    } 

    $this->set('adress', $adress);
    $this->set('_serialize', ['adress']);
}

我希望与地址相关联的所有用户都能看到更多详细信息。我如何实现这一目标?尝试用if子句来做,但没有用,因为我得到的数组只有一个用户(因为多个用户可以连接到一个地址(订单的地址 - 不是他们自己的)。

编辑:我使用foreach循环找出其中的用户并在我的视图中使用if / else。但我认为这不是最佳做法:/

0 个答案:

没有答案