1

我有以下设置:

型号:用户

型号:客户

用户 hasAndBelongsToMany 客户

客户端 hasAndBelongsToMany 用户

数据库表:

用户

  • ID
  • 很多领域

客户

  • ID
  • 很多领域

客户_用户

  • ID
  • client_id
  • 用户身份
  • 地位

一切都很好,但我想知道是否有更好的方法来使用我的客户端模型获取状态字段(与 HABTM 表相关联)。

这是我正在做的事情:

客户端控制器.php

public function view($id = null) {
    $this->Client->id = $id;
    if (!$this->Client->exists()) {
      throw new NotFoundException(__('Invalid client'));
    }

    $this->Client->contain('User.id');
    $this->Client = $this->Client->read(null, $id);
    $this->set('client', $this->Client);

}

我的 $this->Client 上的 var_dump 如下所示:

array
  'Client' => 
    array
      'id' => string '1' (length=1)
      'first_name' => string 'Matt' (length=4)
      'last_name' => string 'Moses' (length=4)
      'address_1' => string '123 S Happy Lane' (length=16)
      'address_2' => string '' (length=0)
      'city' => string 'Yourtown' (length=5)
      'state' => string 'TX' (length=2)
      'zip' => string '12345' (length=5)
      'phone_home' => string '8014567899' (length=10)
      'phone_work' => string '8014567899' (length=10)
      'phone_cell' => string '8014567899' (length=10)
      'email' => string 'matt@matt.com' (length=13)
      'created' => string '2012-06-13 04:41:19' (length=19)
      'modified' => string '2012-06-13 04:41:19' (length=19)
'User' => 
  array
    0 => 
      array
        'id' => string '1' (length=1)
        'ClientsUser' => 
          array
            ...

客户/view.ctp

...
<?php echo $client['User'][0]['ClientsUser']['status']; ?>
...

对我来说,最后一行尖叫“有一种更清洁的方式”,但我似乎找不到任何关于此事的信息。有什么想法吗?

4

0 回答 0