2015-05-08 6 views
-6

У меня есть две таблицыCakePHP вопрос assocations в 2х

  • messages

  • users

users имеет роли Doctor и user.

messages имеет doc_id & user_id.

Как мне создать ассоциацию, так что она возвращает мне оба данных doc_id & user_id от users.

+2

Почему ' doc_id', 'user_id' по-другому? –

+0

Пожалуйста, обновите свой вопрос с немного большей ясностью и, возможно, даже с некоторым контекстом. – Quill

+0

Идентификатор пользователя для разной функциональности и doc id для разных. пользователь посылает сообщение доктору. поэтому doc id и идентификатор пользователя в сообщении. – rocksall

ответ

0

Для ассоциации ролей на пользователе вам понадобится таблица соединений, если я прав, полагая, что Пользователь может иметь много ролей?

модель

You'r Сообщение должна иметь только BelongsTo пользователь, а затем, когда ваше делать окно цикла вы будете использовать глубокие ассоциации в своих методах поиска, чтобы вернуть некоторые, как ...

// Find with deep assosiations 
$this->Message->find('all', array()); 


Array 
(
    [Message] => Array 
     (
      [id] => 2 
      [body] => example body... 
     ) 

    [User] => Array 
     (
      [username] => John 
      [Role] => Array 
       (
        [0] => 2 
        [1] => 6 
       ) 

     ) 

) 
0
class Message extends AppModel { 
    public $hasMany=array('MessageDetail'); 

    public $belongsTo = array(
         'User'=>array(
          'className'=>'User', 
          'foreignKey'=>'user_id', 
         ), 
         'Doctor'=>array(
          'className'=>'User', 
          'foreignKey'=>'doc_id' 
         ), 
         'Petprofiles'=>array(
          'className'=>'PetProfiles', 
          'foreignKey'=>'petprofiles_id' 
        ) 
        ); 
} 
Смежные вопросы