У меня возникли проблемы с CakePHP belongsTo и hasAndBelongsToMany отношения в CakePHP 2.xCakePHP hasOne Модель и hasAndBelongsToMany Модель
Пример ситуации
Таблица пользователей
id
organisation_id
Таблица организации
id
name
Таблица user_organisation_permissions
id
user_id
organisation_id
UserModel
hasAndBelongsToMany(Organisation);
belongsTo(Organisation)
Пользователь принадлежит к одной организации, но она имеет разрешения на нескольких организаций, что приводит к следующему противоречию:
$aUser = $this->User->findById(1);
print_r($aUser);
// Output
# With the belongsTo relation
array(
'User' => array(
'id' => 1,
'organisation_id' => 1
'name' => 'Test User'
),
'Organisation' => array(
'id' => 1,
'name' => 'Test organisation'
)
);
# With the hasAndBelongsToMany relation
array(
'User' => array(
'id' => 1,
'organisation_id' => 1
'name' => 'Test User'
),
'Organisation' => array(
1 => array(
'id' => 1,
'name' => 'Test organisation'
),
2 => array(
'id' => 1,
'name' => 'Test organisation'
)
)
);
# When both relations are enabled it doesn't work
У кого-нибудь есть решение для этого конфликта?
Есть ли «родное» решение CakePHP для этого конфликта?
Что «конфликт» вы имеете в виду? ps, всегда упоминайте свою точную версию CakePHP! – ndm
Хорошо, я добавил еще несколько объяснений. – Tijme
Я вижу, что уже подозревали, что: [** Cookbook> Models> Association> Multiple relations to the same model **] (http://book.cakephp.org/2.0/en/models/associations-linking-models-together .html # multiple-relations-to-the-same-model) – ndm