2016-12-07 2 views
0

У меня есть имя таблицы countries, countries имеет отношение с users, users имеет отношение с MoneyTransferTransactionsCakephp 3: Как получить ассоциированные данные таблицы соединения?

В MoneyTransferTransactions зрения мне нужно принести название страны.

Я уже присоединиться к таблице пользователей в MoneyTransferTransactionsTable по ниже кода

$this->belongsTo('Users', [ 
       'foreignKey' => 'user_id', 
       'joinType' => 'INNER' 
]); 

В таблице пользователя я также использовал внутреннее соединение, как показано ниже код

$this->belongsTo('Countries', [ 
      'foreignKey' => 'country_id', 
      'joinType' => 'INNER' 
]); 

В контроллере MoneyTransferTransactions я использовал ниже код для извлечения всех данные со связанными данными.

$this->paginate = [ 
      'contain' => ['Users','TransferOptions'], 
      'conditions'=> ['MoneyTransferTransactions.status'=>1], 
      'order' =>['MoneyTransferTransactions.id'=>'DESC'] 
]; 

Я использовал var_dump в index.ctp, я gotted страны идентификатор из users таблицы, но не получил название страны из стран таблицы. Как я могу получить название страны от MoneyTransferTransactions>index.ctp?

+0

Вы должны добавить страны, чтобы содержать – rrd

+0

Он дал мне ошибку «MoneyTransferTransactions не связан со странами» –

+0

чем добавить Users.Countries, чтобы содержать и удалить Пользователи из него – rrd

ответ

1

Добавить связь между пользователями и странами в «содержит»

$this->paginate = [ 
    'contain' => ['TransferOptions', 'Users' => ['Countries']], 
    'conditions' => ['MoneyTransferTransactions.status' => 1], 
    'order' => ['MoneyTransferTransactions.id' => 'DESC'] 
];