У меня есть две базы данных с именем default и default_history. И таблицы с именами пользователей и wafer_detail_history в базе данных по умолчанию и order_history в базе данных default_history. хотите связать таблицу Users с таблицей OrderHistory.
OrderHistoryTable: -
public function initialize(array $config)
{
parent::initialize($config);
$this->setTable('order_history');
$this->setDisplayField('id');
$this->setPrimaryKey('id');
$this->addBehavior('Timestamp');
$this->hasMany('WaferDetailHistory', [
'foreignKey' => 'order_id'
]);
$this->belongsTo('Users', [
'foreignKey' => 'created_by',
'joinType' => 'INNER'
]);
}
Я использовал это.
$connection = ConnectionManager::get('default_history');
$this->OrderHistory = TableRegistry::get('OrderHistory');
$this->OrderHistory->setConnection($connection);
$id = 37;
$order_history = $this->OrderHistory->get($id, ['contain' => ['Users']]);
но не в состоянии преуспеть. получить эту ошибку:
Базовая таблица или представление не найдено: 1146 Таблица 'default_history.users'
не существует