торт php использование отношений таблиц

Какое использование отношений творения как

 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»? Возникает какая-либо ошибка. Как торт использует отношения, указанные в модели?


person udhaya    schedule 06.02.2010    source источник
comment
хорошо, если я указал, что у этого сообщения есть много пользователей, я не могу получить обряд имени пользователя?   -  person udhaya    schedule 06.02.2010
comment
Думаю, вы скорее говорите о пользователях, у которых много постов. Что ж, в этом сценарии, когда вы выбираете конкретного пользователя, вы также получаете все его комментарии. Прочтите об ассоциациях моделей в Кулинарной книге book.cakephp.org/view/78 / Associates-Linking-Models-Together   -  person pawelmysior    schedule 06.02.2010
comment
Можете ли вы поместить образец кода в теги кода? Так будет легче читать.   -  person Vince Bowdren    schedule 06.02.2010
comment
это должен был быть не ответ, а комментарий. Как сказал Павел, было бы неплохо прочитать об отношениях в книге тортов, так как это одна из главных особенностей Cake. Также сдерживаемое поведение (book.cakephp.org/view/474/Containable) может Также быть интересным для вас: если вы найдете ответ полезным, вы можете вознаградить человека с помощью SO-инструментов   -  person harpax    schedule 07.02.2010


Ответы (2)


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

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

person pawelmysior    schedule 06.02.2010

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

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

  • belongsTo означает отношение "один ко многим", при этом модель "принадлежности" относится к "многим".
  • hasMany означает обратную сторону отношений "один ко многим"
  • hasOne означает отношения один-к-одному
  • hasAndBelongsToMany означает отношения "многие ко многим"

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

person deceze♦    schedule 08.02.2010