У меня есть 3 дерева, как связанные таблицы.Их схемы следующие:
Member{
//Some column
}
Transactions{
member_id :: foreign key of member table
//Some other column
}
TransactionItems{
transaction_id :: foreign key of Transaction table
//Some other column
}
Я определяю модели следующим образом:
class Members extends AppModel {
public $primaryKey = 'id';
public $hasOne = array(
'Transactions' => array(
'className' => 'Transactions',
'foreignKey' => 'member_id',
'dependent' => true
)
);
}
class Transactions extends AppModel {
public $primaryKey = 'id';
public $belongTo = array('Members');
public $hasOne = array(
'TransactionItems' => array(
'className' => 'TransactionItems',
'foreignKey' => 'transaction_id',
'dependent' => true
)
);
}
class TransactionItems extends AppModel {
public $primaryKey = 'id';
public $belongTo = array('Transactions');
public $belongsTo = array(
'Transactions' => array(
'className' => 'Transactions',
'foreignKey' => 'transaction_id'
)
);
}
У меня есть массив данных, который я хочу сохранить в базе данных.Моя схема:
Array(
[Members] = [],//Array
[Transactions] = [],//Array
[TransactionItems] = []//Array
)
Проблема в том, что всякий раз, когда я запускаю $this->Members->saveAll($data)
.Сохраняет данные в таблице Member и Transactions.Но не создавайте данные в таблице TransactionItems.Я хочу сохранить все три таблицы одновременно.
Любая помощь будет благодарна.