для вопроса 1
В соответствии с вашей структурой существует связь между моделью клиента и страны, я думаю, поэтому нам не нужно загружать модель.
Мы можем создать виртуальную ассоциацию для каждого идентификатора, например,
'CountryOrigin' => array(
'className' => 'Country',
'foreignKey' => 'country_origin_id',
'dependent' => true,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
'CountryResidence' => array(
'className' => 'Country',
'foreignKey' => 'country_residence_id',
'dependent' => true,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
Делая это, мы можем создать связь между моделями, поэтому мы не хотим явно загружать модель
Загрузка модели хороша, когда у нас нет ассоциации, которую мы можем использовать как,
Синтаксис для загружаемой модели
Для одной модели нагрузки
$this->loadModel('Country');
Это будет более полезно, если мы хотим загрузить модель для определенного действия или условия
Если мы хотим использовать во всем контроллере, мы можем использовать переменную $ using
Для нескольких моделей загрузки.
public $uses = array('Country','OtherModel');
мы можем получить доступ к модели, как,
$this->Country->find('count');