торт php использование табличных отношений - PullRequest
0 голосов
/ 06 февраля 2010

Что такое использование отношений создания, как

 var $belongsTo = array(
        'UserType' => array(
            'className' => 'UserType',
            'foreignKey' => 'user_type_id',
            'conditions' => '',
            'fields' => '',
            'order' => ''
        )
    );
    //The Associations below have been created with all possible keys, those that are not needed can be removed
    var $hasMany = array(
        'UserOpenid' => array(
            'className' => 'UserOpenid',
            'foreignKey' => 'user_id',
            'dependent' => true)
);

Что, если я добавил таблицу, созданную в смысле "ownTo", в "hasMany"? Любая ошибка происходит. Как торт использует отношения, указанные в модели?

Ответы [ 2 ]

1 голос
/ 06 февраля 2010

Связывая модели вместе, вы сообщаете CakePHP, что получить из базы данных при использовании функции find (). Пример:

posts BelongsTo users = при получении сообщения вы также получите данные о пользователе, которому принадлежит это сообщение (posts.user_id = users.id).

0 голосов
/ 08 февраля 2010

В дополнение к ответу Павла:

«ownTo», «hasMany» и т. Д. - это просто термины, выбранные для отражения того, как устроена база данных и как таблицы связаны друг с другом, что определяет способ получения данных.

  • belongsTo означает отношение «один ко многим», а модель «принадлежности» находится на стороне «многих»
  • hasMany означает другую сторону отношения один-ко-многим
  • hasOne означает отношение один к одному
  • hasAndBelongsToMany означает отношение «многие ко многим»

Конкретное отношение определяет, какая таблица содержит какой внешний ключ и как JOIN таблицы для автоматического извлечения данных. Посмотрите на Нормализация , если у вас нет опыта с этим.

...