我有 JSON 数据,我想一次将所有数据保存在数据库中。图中显示的数据库架构。所以我可以在这里看到二阶HAS_MANY
关系。esaverelatedbehavior
在 yii 中允许我只保存一阶数据,例如company_*
。有没有办法一次将所有数据保存到所有表中?
问问题
87 次
1 回答
0
一个插入查询不能向多张表中插入数据
您必须使用事务来执行许多插入
public function saveJsonData()
{
/**
* parsing your json data
*/
$transaction = Yii::app()->db->beginTransaction();
try {
$company = new Company();
$company->setAttributes($company_data);
if (!$company->save()) {
throw new Exception('some exception');
}
foreach ($otherCompanyRelatedDataList as $data) {
$otherCompanyData = new OtherCompanyData();
$otherCompanyData->setAttributes($data);
if (!$otherCompanyData->save()){
throw new Exception('some exception');
}
}
/**
* save other data
*/
$transaction->commit();
} catch (Exception $e) {
$transaction->rollback();
}
}
于 2016-04-13T09:19:59.963 回答