2010-05-23 3 views
0

Я просто собираю разработку в CakePHP прямо сейчас, так что простите меня, если это кажется очевидным; он сделал со мной, когда я впервые прочитал о том, что имеет, принадлежит To, hasMany и т. д.CakePHP: Использование двух таблиц для одной модели

Проблема заключается в том, что я хотел бы связать две таблицы с одной моделью и задавался вопросом, есть ли способ настроить это так, чтобы когда CakePHP выполнил запросы, которые автоматически выполнили объединение двух таблиц.

Я не хочу создавать отдельную модель для второй таблицы, так как это просто таблица метаинформации - основная таблица будет содержать требуемую основную информацию, мета-таблица будет заполнена дополнительной информацией, которая не требуется и поэтому может устанавливаться или не устанавливаться для каждой строки главной таблицы.

ответ

4

Вам не нужно явно создавать модель для таблицы, если всегда будет получить доступ ко второй таблице через первый. Если память используется, Cake будет неявно создавать модель и возвращать свои данные при первом обращении, используя стандарт Торт-методы. Если вам нужны специальные методы, вам нужно будет закодировать модель.

Например, у меня часто бывает Company модель и модель Address. Я создаю модель для первой, но не для последней. Вызов Company::find() возвращает информацию об адресе до тех пор, пока Company hasOne Address (или hasMany) и recursive опция установлена ​​в 1 или выше.

+0

Я, вероятно, должен был просто попытаться это сделать до публикации; в документации это звучит так, как если бы вы определили отношение has или принадлежит, которое должно быть явно определено Model *. Благодаря! – mwaterous

+0

Невидимая встроенная функциональность -> вы дали мне идею почистить/затянуть мое приложение. Отличное решение. Upvote. :) – OpenSorceress

Смежные вопросы