Я начинаю изучать CakePHP и MVC в целом.Настройка ассоциаций на CakePHP
У меня есть база данных с большим количеством таблиц, которые я пытаюсь связать и читаю the docs.
Вот объяснение некоторых таблиц у меня есть:
clients
стол, имеет поля:
id
name
currency
risk_code_id
(это внешний ключ дляrisk_codes
стол)
accounts
стол:
id
client_id
- ... еще несколько полей, относящихся к каждой учетной записи
risk_codes
стол:
id
name
я в настоящее время имеют только модели для клиентов, который выглядит следующим образом:
<?php
class Client extends AppModel {
public $hasMany = 'Account';
public $validate = array(
'title' => array(
'rule' => 'notEmpty'
),
'body' => array(
'rule' => 'notEmpty'
)
);
}
Этот извлекает учетные записи, относящиеся к клиенту.
Как бы связать таблицу risk_codes
с номером clients
? Нужно ли мне создать еще одну модель для risk_codes и определить ее там? Как должно быть совершенно очевидно, каждый клиент имеет один код риска.
это похоже работа. Теперь мне нужно выяснить, как редактировать/добавлять записи клиентов с помощью контроллера клиентов со связанными таблицами, но это другой вопрос. – harryg
Yup. CakePHP в значительной степени выполняет всю тяжелую работу, когда вы связываете модели так же, как и вы, если вы используете [saveAll] (http://book.cakephp.org/2.0/ru/models/saving-your-data.html#model- saveall-array-data-null-array-options-array) для сохранения данных для всех связанных моделей одновременно. – mathielo
Как сделать «risk_code» появляться в представлении редактирования, предполагая, что в настоящее время у меня есть входы для поля 'client' в форме' echo $ this-> Form-> input ('name'); '? – harryg