CakePHP: использование двух таблиц для одной модели - PullRequest
0 голосов
/ 24 мая 2010

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

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

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

1 Ответ

4 голосов
/ 24 мая 2010

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

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

...