может кто-нибудь дать объяснение для меня?
У меня есть база данных, в которой я пытаюсь обновить 4 таблицы с одной страницы: Organizations, OrganizationsDetails, Account, AccountRoles. Само представление добавления будет содержать поля для учетной записи и организации. Когда я вызываю функцию добавления OrganizationsController, я хочу затем вызвать add для AccountController, AccountRolesController (установить учетную запись в качестве роли администратора) и OrganizationDetailsController (установить эту учетную запись в качестве администратора для этой конкретной организации).
Должен ли я использовать компоненты для этого? Когда я вызываю add() для организаций, я всегда намереваюсь выполнить эти шаги — никогда не создавать только запись «Организации» ниже. Должен ли я делать это непосредственно в этой функции или в каком-то другом методе?
Дайте мне знать, если мне нужно объяснить больше, спасибо!
РЕДАКТИРОВАТЬ: добавлены четыре модели ниже: Организация
class Organization extends AppModel {
public $hasMany = array(
'Account' => array(
'className' => 'Account',
'foreignKey' => 'organization_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
public $hasOne = array(
'OrganizationDetail' => array(
'className' => 'OrganizationDetail',
'foreignKey' => 'organization_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
ОрганизацияПодробнее
class OrganizationDetail extends AppModel {
public $belongsTo = array(
'Organization' => array(
'className' => 'Organization',
'foreignKey' => 'organization_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Account' => array(
'className' => 'Account',
'foreignKey' => 'account_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
AccountRole
class AccountRole extends AppModel {
public $belongsTo = array(
'Account' => array(
'className' => 'Account',
'foreignKey' => 'account_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Role' => array(
'className' => 'Role',
'foreignKey' => 'role_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
Счет
class Account extends AppModel {
public $belongsTo = array(
'Organization' => array(
'className' => 'Organization',
'foreignKey' => 'organization_id',
'conditions' => '',
'fields' => '',
'order' => ''
)
);
public $hasOne = array(
'OrganizationDetail' => array(
'className' => 'OrganizationDetail',
'foreignKey' => 'account_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
public $hasMany = array(
'AccountRole' => array(
'className' => 'AccountRole',
'foreignKey' => 'account_id',
'dependent' => false,
'conditions' => '',
'fields' => '',
'order' => '',
'limit' => '',
'offset' => '',
'exclusive' => '',
'finderQuery' => '',
'counterQuery' => ''
)
);
$this->request->data
и выполнять метод save() соответствующего типа для захвата всех связанных данных за один раз из OrganizationsController. - person array-pop-tarts   schedule 24.10.2015