2013-11-22 3 views
0

Я новичок в структурах MVC, и у меня возникают некоторые проблемы, обертывающие мою голову вокруг того, как именно это будет определено в модели.Рекомендации о том, как определить эту модель/отношения в cakephp

`UserA` purposes `Offer1` 
`UserB` sees and accepts `Offer1` 
`Offer` is now complete 

я первоначально имел два набора пользователей в разных таблицах, но это означало, что много дополнительной работы, когда я думаю, что есть, вероятно, более простой способ.

ответ

2

У вас будет три стола. Если вы следуете правилам именования таблиц CakePHP, вы, вероятно, назовете их users, offers_users и offers. В этом случае вы, вероятно, хотите использовать hasAndBelongsToMany relationship (HABTM). Основной пример

class User extends AppModel { 
    public $hasAndBelongsToMany = array(
     'Offer' => 
      array(
       'className' => 'Offer', 
       'joinTable' => 'offers_users', 
       'foreignKey' => 'user_id', 
       'associationForeignKey' => 'offer_id', 
       'unique' => false, 
       'conditions' => '', 
       'fields' => '', 
       'order' => '', 
       'limit' => '', 
       'offset' => '', 
       'finderQuery' => '', 
       'with' => '' 
      ) 
    ); 
} 
+0

Это имеет смысл. Если бы offer_users затем имели два столбца в строках 'submittedBy' и' acceptedBy' – mhopkins321

+1

@ mhopkins321 В таблице 'offers_users' вы можете добавить дополнительные столбцы. –

Смежные вопросы