Мне нужно переместить таблицу в другую базу данных.Использование Cakephp принадлежит нескольким базам данных
Если я это сделаю, все отношения HABTM прекрасно работают с помощью обучающих программ, таких как this.
Однако в других моделях есть атрибуты to и hasMany, которые, кажется, пропускаются во время функции find().
Я обнаружил, что:
if databases for model is different the join build is bypassed. in source_dbo
Есть ли гладко обходной путь, не углубляясь в код?
Таблица: А, В на DB1 таблица: C на DB2
стол: belongsTo С Таблицы: В HABTM С
Созданием находки() на модель А, возвращают только данные из таблицы A. На модели B find() возвращает все объединенные данные из таблиц B и C.
Один неожиданный побочный эффект, который я только заметил, заключается в том, что при возврате полей для поиска («все») торт по умолчанию будет использовать основную модель, с которой вы запрашиваете для псевдонима вместо разумного определения псевдонима, основанного на имена полей. , например. Вы запрашиваете с моделью ** Комментарий ** в DB1, $ принадлежит модели ** Пользователь ** в DB2. Если вы укажете поля как 'array ('first_name', 'title')' cake возвращает ** 'array ('Comment.first_name', 'Comment.title')' ** вместо ** 'array ('User.first_name', 'Comment.title') '** Я могу жить с указанием имен модели явно на данный момент. – Francis