Я использую CakePHP 3.x.
Мой вопрос: возможно ли иметь много ассоциаций ownTo () с одним и тем же внешним ключом?
Вот моя проблема:
У меня есть три поля в моей таблице, которые используют один и тот же внешний ключ.
В таблице моделей я использовал ассоциацию ownTo () следующим образом:
$this->belongsTo('Pilotes', [
'className' => 'Users',
'foreignKey' => 'pilote',
'propertyName' => 'pilote_user'
]);
$this->belongsTo('Verificateurs', [
'className' => 'Users',
'foreignKey' => 'no_user',
'propertyName' => 'verificateur_user'
]);
$this->belongsTo('Users', [
'className' => 'Users',
'foreignKey' => 'no_user',
'propertyName' => 'user'
]);
Но когда я отлаживаю свою сущность, два первых поля содержат только внешний ключ, а последнее нормально.
Запрос:
public function view($id = null)
{
$demande = $this->Demandes->get($id, [
'contain' => ['Users']
]);
$this->set('demande', $demande);
$this->set('_serialize', ['demande']);
}
Вот результат работы debug ():
object(App\Model\Entity\Demande) {
'new' => false,
'accessible' => [
'pilote' => true,
'verificateur' => true,
'pilote_user' => true,
'verificateur_user' => true,
'user' => true,
],
'properties' => [
'no_demande' => (int) 4,
'pilote' => (int) 3,
'verificateur' => (int) 2,
'no_user' => (int) 1,
'user' => object(App\Model\Entity\User) {
/* Details of the user */
},
],
'dirty' => [],
'original' => [],
'virtual' => [],
'errors' => [],
'repository' => 'Demandes'
}
Если я прокомментирую свой последний метод ownTo (), второе поле будет в порядке, но не первое.
заранее спасибо
'contain' => ['Users', 'Verificateurs', 'Pilotes']
- person José Lorenzo Rodríguez   schedule 07.05.2015