в Cake php

Я следую соглашению об именах CakePHP

Мне нужно сделать "многие к одному" - $belongsTo Association City to Country ------- означает, что многие города принадлежат стране

Это модель города

class Citie extends AppModel
{
    var $name = 'Citie';
    var $belongsTo = array(
        'Countrie' => array(
            'className' => 'Countrie',
            'foreignKey' => 'countrie_id'
        )
    ); 
}

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

Это модель страны

class Countrie extends AppModel 
{
    var $name = 'Countrie';
}

Здесь вы можете видеть, что я следую соглашению об именах. Показать все страны


person aleks    schedule 07.05.2011    source источник


Ответы (1)


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

<?php
class City extends AppModel {
    var $name = 'City';
    var $belongsTo = array(
        'Country' => array(
            'className' => 'Country',
            'foreignKey' => 'country_id',
        )
    );
}
?>

и

<?php
class Country extends AppModel {
    var $name = 'Country';
    var $hasMany = array(
        'City' => array(
            'className' => 'City',
            'foreignKey' => 'country_id',
        )
    );

}
?>
person hope_is_grim    schedule 07.05.2011
comment
Спасибо за ответ. Но результат был тот же. Мои имена файлов моделей, где неправильно. сейчас все хорошо - person aleks; 07.05.2011