我有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。但我认为这不是最佳做法:/