У меня есть некоторые проблемы с двумя ассоциациями в одной модели .. Немного ПИК делает моя проблема, надеюсь, немного понятнее ..CakePHP: Множественные отношения с одной модели
http://imgur.com/hxL06u2 (жаль, что я не могу размещать фотографии здесь)
поэтому у меня есть пользователи, которые могут писать/писать статьи. Один пользователь может писать несколько статей, а одна статья может принадлежать только одному пользователю (имеет много).
теперь пользователи могут любить статьи от других пользователей. .. это есть и принадлежит многим отношениям .. моя проблема в том, когда я создаю свалки sql статьи:
Cannot add or update a child row: a foreign key constraint fails (`xxx`.`articles_users`,...
так торт использует неправильное отношение (HABTM вместо того, имеет много) и, следовательно, неправильно таблицу (article_users вместо статей)
я мог бы написать мой собственным сохранить запрос с нужными таблицами (I» я пробовал это и его работы), но я думаю, что это не лучшее решение.
действительно ли кто-то знает лучший подход? благодаря!
Edit:
Статья Модель
Ownes:
public $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
Симпатии:
public $hasAndBelongsToMany = array('User' => array(
'className' => 'User',
'joinTable' => 'articles_users',
'foreignKey' => 'article_id',
'associationForeignKey' => 'user_id',
'unique' => 'keepExisting',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
)
);
пользователя Модель
public $hasMany = array(
'Article' => array(
'className' => 'Article',
'foreignKey' => 'user_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
public $hasAndBelongsToMany = array(
'Article' => array(
'className' => 'Article',
'joinTable' => 'articles_users',
'foreignKey' => 'user_id',
'associationForeignKey' => 'article_id',
'unique' => 'keepExisting',
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
));
Поделитесь соответствующим кодом модели ($ hasMany, $ belongsTo, HABTM) для моделей пользователей и товаров – AgRizzo